IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction php qui selectionne une chaine de caractere


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut Fonction php qui selectionne une chaine de caractere
    Salut a tous,

    je voudrais savoir si il existe une fonction php permettant de sélectionner une chaine de caractére comprise entre 2 mot de référence .

    Par exemple si dans un texte j'ai:
    Truc machein <img src="img1.jpg" style=""> bidule truc <img src="img2.jpg" style="">....
    j'aimerais pouvoir juste récupérer img1.jpg et img2.jpg.

    Possible?
    manganimes (en construction) -
    zemanga

  2. #2
    Membre habitué Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Utilise les fonctions suivantes :
    - strpos

    Citation Envoyé par http://www.php.net/manual/fr/function.strpos.php#58969
    this function return all src properties from a html text
    in array you can filter the specifics html tags with strip_tags

    $HTML=strip_tags ( $HTML, '<img>' );
    $tag = trip_tag_prop("src=\"" , "\"" , $HTML);

    function trip_tag_prop($ini,$end,$HTML ){
    $ini_len= strlen($ini);
    $end_len= strlen($end);
    $inizio_pos=0;
    while($inizio_pos = strpos ( $HTML, $ini, $inizio_pos)){
    $fine_pos = strpos ( $HTML, $end,($inizio_pos + $ini_len));
    $tag[] = substr ( $HTML, $inizio_pos + $ini_len ,($fine_pos - $inizio_pos - $ini_len) );
    $inizio_pos=$fine_pos;
    }
    return $tag;
    }

  3. #3
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    Mais non mais non !
    La solution c'est une Expression régulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $in = '<img src="img1.jpg" style=""> bidule truc <img src="img2.jpg" style="">';
    preg_match_all ("/<img [^>]*src=([\"'])([^\1]+)\\1/", $in, $matches, PREG_PATTERN_ORDER);
    foreach($matches[2] as $val) {
         echo "\n<br />" . $val;
    }

  4. #4
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Citation Envoyé par Caerbannog
    Mais non mais non !
    La solution c'est une Expression régulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $in = '<img src="img1.jpg" style=""> bidule truc <img src="img2.jpg" style="">';
    preg_match_all ("/<img [^>]*src=([\"'])([^\1]+)\\1/", $in, $matches, PREG_PATTERN_ORDER);
    foreach($matches[2] as $val) {
         echo "\n<br />" . $val;
    }

    Je connaissais pas les expressions régulière ca l'ai bien puissant .
    Dire que je me suis fait chier a programmer mon propre bbcode avec des strreplace lol.
    manganimes (en construction) -
    zemanga

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/02/2011, 23h32
  2. selectionner une chaine de caractere
    Par kavdo34 dans le forum Linux
    Réponses: 2
    Dernier message: 31/03/2010, 16h59
  3. fonction qui retourne une chaine de caracteres
    Par pyrrhias dans le forum Débuter
    Réponses: 3
    Dernier message: 20/01/2009, 10h49
  4. Réponses: 5
    Dernier message: 18/10/2005, 21h53
  5. Réponses: 2
    Dernier message: 30/03/2004, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo