expression reguliere

expression reguliere - PHP - Programmation

Marsh Posté le 04-11-2004 à 22:44:19    

salut a tous !!!
 
je voudrais remplacer la chaine  
 

Code :
  1. http://www.site.com/images/image.gif


 
par <img src="http://www.site.com/images/image.gif></img>
 
j'ai regarder les expression reguliere mais c un truc de fou .. si quelqu'un peut m'expliker !!


Message édité par cyberchrix le 04-11-2004 à 22:45:01
Reply

Marsh Posté le 04-11-2004 à 22:44:19   

Reply

Marsh Posté le 04-11-2004 à 23:06:22    

Tu utilise la fonction preg_replace() tout simplement.


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 04-11-2004 à 23:10:26    

oui mais il ya des expressions regulieres dans preg_replace ....

Reply

Marsh Posté le 04-11-2004 à 23:38:25    

:??: Va voir ici : http://fr2.php.net/manual/fr/function.preg-replace.php


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 04-11-2004 à 23:43:54    

c une vraie usine a gaz ca fait 10000 fois que je le regarde !!!

Reply

Marsh Posté le 04-11-2004 à 23:50:24    

cyberchrix a écrit :

c une vraie usine a gaz ca fait 10000 fois que je le regarde !!!


+1
Moi aussi faut que je m'y mette et ça me fait peur ce truc :/
Bon courage !

Reply

Marsh Posté le 04-11-2004 à 23:55:11    

Pourtant le premier exemple est des plus clairs : dans la fonction preg_replace, tu as une syntaxe comme ceci :

Code :
  1. preg_replace($element_a_remplacer,$element_de_remplacement,chaine_ou_on_fait_le_traitement);


 
Si ceci ne suffit pas ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 04-11-2004 à 23:56:45    

mais le fonctionnement de preg_replace je le connais mais pour remplacer la chaine il faut utiliser les expressions regulieres !!!!!!!!!!!!

Reply

Marsh Posté le 05-11-2004 à 00:17:33    

Je te jure ...
 
Ce que je vais te donner est à mon avis à ton niveau :
 

Code :
  1. function parse_images($string_img) {
  2. // à améliorer pour analyse du contenu de la string
  3. $search_img = array(
  4. "/\[img\](http|https|ftp|mms):&#47;&#47;(\S+)\[&#47;img\]/si" );
  5. $replace_img = array(
  6. "<img src=\"\\1://\\2\" alt=\"\\1://\\2\" title=\"\\1://\\2\" />" );
  7. // on remplace
  8. $string_img = preg_replace($search_img,$replace_img,$string_img);
  9. // on renvoie
  10. return $string_img;
  11. }

Edit > D'ailleurs, dans ce cas l'emploi des array n'est pas une si bonne idée que cela car je n'ai qu'un élément dedans à chaque fois (même si on peut en rajouter).


Message édité par Gilbert Gosseyn le 05-11-2004 à 00:22:59

---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
Reply

Marsh Posté le 05-11-2004 à 00:24:55    


Là, sans vraiment tenter d'optimiser :  

Code :
  1. preg_replace("/\[img\](http:\/\/.*)\[\/img\]/m","<img src=\"$1\" />","http://www.site.com/images/image.gif" );


Message édité par naceroth le 05-11-2004 à 00:30:32
Reply

Marsh Posté le 05-11-2004 à 00:24:55   

Reply

Marsh Posté le 05-11-2004 à 11:46:54    

Autre façon de faire (cf exemple 2 de la doc):

Code :
  1. $cherche = array("/[img]/", "/[\/img]/" );
  2. $remplace = array("<img src=\"", "\">" );
  3. $nouvelle_chaine = preg_replace($cherche, $remplace, $ancienne_chaine);


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Sujets relatifs:

Leave a Replay

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