fonction preg_replace

fonction preg_replace - PHP - Programmation

Marsh Posté le 30-03-2006 à 18:09:32    

bonjour,
j'ai quelques difficultés avec la fonction preg_replace
je voudrais que toutes les images de ma page est le style :
FLOAT: left; MARGIN: 0px 10px 10px 0px; TEXT-ALIGN: justify
sauf l'image "puce". Mais le probleme, c'est que l'image "puce"
prend en compte les deux parametres.
cest a dire que l'image "puce sera transformé en

Code :
  1. <img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; TEXT-ALIGN: justify" src="media/bouton/puce.jpg" class="puce">


au lien de ...

Code :
  1. <img src="media/bouton/puce.jpg" class="puce">


 

Code :
  1. <?
  2. $pattern = array ('#<img#','#<img src="media/bouton/puce.jpg" class="puce">#');
  3. $replace = array(  '<img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; TEXT-ALIGN: justify"','<img src="media/bouton/puce.jpg" class="puce">');
  4. $affiche_descriptif = preg_replace($pattern, $replace, $affiche_descriptif);
  5. ?>


comment faire pour contrer cela ?
merci de votre aide

Reply

Marsh Posté le 30-03-2006 à 18:09:32   

Reply

Marsh Posté le 30-03-2006 à 18:17:27    

si ton classe puce est toujours à la fin de ton image tu peux ruser avec une bonne assertion négative:

Code :
  1. <?php
  2. $text = ' <img src="media/bouton/puce.jpg" class="puce">
  3. <img src="poueet.jpg" class="pouet">';
  4. $pattern = '/<img(.*?)(?<!"puce" )>/';
  5. $replace = '<img BOUZIN $1>';
  6. $res = preg_replace($pattern, $replace, $text);
  7. print $res;
  8. ?>


Reply

Marsh Posté le 30-03-2006 à 18:18:47    

C'est trop lourd ...tu vas appliquer une fonction sur ton contenu a chaque fois...
Faut penser autrement je pense.
 
Par exemple pour ton image puce, specifie lui le style qu tu souhaites :
 

Code :
  1. <img src='media/bouton/puce.jpg' class='puce' style='MARGIN: 0px 0px 0px 0px;TEXT-ALIGN: left'>


 etc ...
 
et pour les autres images, elles auront le style par defaut


Message édité par fabs2b le 30-03-2006 à 18:20:52
Reply

Sujets relatifs:

Leave a Replay

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