preg_match_all

Eléphant du PHP | 109 Messages

09 janv. 2014, 16:34

Bonjour
J'ai mon texte d'article qui provient de ma base de données . Quand je l’affiche sur ma page

Code : Tout sélectionner

echo $montexte
il se présente ainsi
mon texte ici wimg src="photo.jpg"> et encore du texte
je voudrais afficher l'image en début d'article et a la taille que je souhaite
J'ai donc essayé de l'extraire par ce code mais sans succès :

Code : Tout sélectionner

preg_match_all("#<img(.*?)>#s","<b>exemple : </b><img src='moi.jpg' ceci est un test",$matches); echo $matches[0][0];
Quelqu'un peut il me dire d'ou vient l'erreur?
Merci beaucoup
Nadège

Eléphant du PHP | 453 Messages

09 janv. 2014, 19:22

Salut Nad21,

essai ce pattern, regarde comment j'ai corrigé ton souci et pourquoi j'ai utilisé tel ou tel signe.
$motif = "#<img.+>#U";
$string = '<p>bla bla <span>bli</span><span><img src="image.jpg" alt="bla bla"> bla bla </span></p>';
preg_match_all($motif,$string,$match);
print_r($match);
;)

<<<EDIT
Je viens de regarder ton code et en fait ça fonctionne seulement si dans ta chaine de caractères il y a un chevron fermant ">"
EDIT;

Un bon site sur le sujet : expreg ou un excellent bon bouquin : Mastering Regular Expressions
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia