regex et preg_replace()

regex et preg_replace() - PHP - Programmation

Marsh Posté le 21-04-2005 à 18:40:54    

bonjour
 

Code :
  1. $texte = preg_replace('!\[u\](.*)\[/u\]!isU', '<u>$1</u>', $texte);
  2. $texte = preg_replace('!\[img\](.*)\[/img\]!isU', '<img src="$1">', $texte);


 
voici 2 regex que j'ai crée, le premier sert a souligné, le second sert a inséré une image.
Le truc est que le second ne marche pas.
 
je peut faire apparaitre une image qui est en local, mais pas une image qui se situe sur un autre site
 
pouvez vous m'éclairer svp
 

Reply

Marsh Posté le 21-04-2005 à 18:40:54   

Reply

Marsh Posté le 21-04-2005 à 23:18:07    

J'ai trouver mon probleme, mais je n'ai pas trouver la solution
j'espere pouvoir avoir une aide de votre part. J'explique mon truc.
 
Je travail en phpbb,

Code :
  1. $texte = preg_replace('!http://[a-z0-9._/-]+!i', '<a href="$0" target="newpage">$0</a>', $texte); //crée un lien
  2. $texte = preg_replace('!\[imgs\](.*)\[/imgs\]!isU', '<img src="$1">', $texte);//affiche une image


 
$texte est bien entendu le texte qui sera modifier avec les regex ci dessus.
 
disons que $texte="[imgs]http://bibi35.free.fr/imgs/101.PNG[/imgs]" // cela devrai afficher mon image.
donc $texte passe part mon 1er regex, cela donne un lien et ensuite il passe par mon second regex qui veux afficher mon image, mais $texte est modifier donc limage ne s'affiche pas.
 
Donc comment puis je faire pour faire en sorte que le 1er regex ne soit pas pris en compte quand cela doit afficher une image.
 
merci
 
tester par vous meme
http://bibi35.free.fr


Message édité par Badze le 22-04-2005 à 00:11:32
Reply

Marsh Posté le 22-04-2005 à 16:56:35    

alors dans ton 1 regex tu dois mettre qu'il ne doit pas regarder quand le http:// est entre [imgs][/imgs]
 
je sais pas trop comment écrire ca  
ptet un truc genre [^(\[imgs\](.*)\[imgs\])]
 
mé jcé pa hein ^^


Message édité par benamoubeach le 22-04-2005 à 17:00:07
Reply

Marsh Posté le 22-04-2005 à 17:43:58    

J'ai trouver une autre solution, jaime cree un autre regex qui permet de mettre un lein entre 2 balise [urls][/urls].
Je cherchais trop a me compliquer la vie.
 
Merci a toi quand meme ;)


Message édité par Badze le 22-04-2005 à 17:44:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed