Remplacer texte entre deux balises html ?

Remplacer texte entre deux balises html ? - PHP - Programmation

Marsh Posté le 09-02-2009 à 17:38:07    

Bonjour à tous,
 
je viens vous voir car je galère pas mal avec les expressions régulières... J'ai beau regarder tous les articles en parlant, je bute !
 
Je voudrais remplacer tout le texte se trouvant entre </a></b><br> et </td></tr>.
 
En gros, ça donne un code du genre :
 
(code)</a></b><br>blablablabla</td></tr>(code) que je voudrais remplacer en (code)</a></b></td></tr>(code).
J'ai essayé ceci entre autre, mais sans résultat convaincant. Ca remplace rien...
 
$s = eregi_replace("^(</a></b><br> )(.*)(</td></tr> )$","</a></b></td></tr>",$s);
$s contenant mon code html.
 
Je désespère un peu, donc si quelqu'un pouvait m'aider, je lui en serais reconnaissant !
 
Merci beaucoup !

Reply

Marsh Posté le 09-02-2009 à 17:38:07   

Reply

Marsh Posté le 09-02-2009 à 17:55:44    

les ^ et $ ne sont peut etre pas utiles ici puisque la chaine recherchée ne commence pas au debut de la ligne et ne fini pas la ligne...
 
tu as un espace entre <br> et ) est ce voulu ?
tu as un espace entre </tr> et ) est ce voulu ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 09-02-2009 à 18:13:23    

j'ai enlevé les ^ et $ que j'avais mis au cas ou, mais ça ne change rien... Les espaces ont été en trop quand j'ai recopié le texte, mais j'en n'ai pas.
 
Je garde donc mon problème, sauf qu'en fait, faudrait juste que je remplace ce qu'il y a entre <br> et </td>, ça revient au même de toute façon !

Reply

Marsh Posté le 09-02-2009 à 23:26:37    

Code :
  1. $s=preg_replace("!</a></b><br>(.*)</td></tr>!Ui","</a></b></td></tr>",$s);

Reply

Marsh Posté le 10-02-2009 à 12:42:15    

bonjour,
désolé pour le retard. J'ai essayé ce que Bouchon2 a mis, mais sans résultat, ça ne remplace pas non plus.  
 
Peut être que mon filtre est mauvais, mon code html ressemble à ça avec les mêmes espaces malgré mon trim avant :
 

Code :
  1. <tr class="even"><td class="pastel1" width="44%"><b><a href="lien">nom</a></b><br><a href="lien">nom</a>. </td>     <td class="blanc" width="12%"><a href="lien">nom</a></td><td class="pastel1" width="44%"><b><a href="lien">nom</a></b><br><a href="lien">nom</a>, <a href="lien">nom</a>.</td><td><img src="lien"> </td></tr>


 
et je voudrais que ça donne ça :
 

Code :
  1. <tr class="even"><td class="pastel1" width="44%"><b><a href="lien">nom</a></b></td><td class="blanc" width="12%"><a href="lien">nom</a></td><td class="pastel1" width="44%"><b><a href="lien">nom</a></b></td></tr>


 
Si je me trompe pas, je veux récupérer tout ce qu'il y a entre un <br> et un </td> et l'enlever, et je trouve vraiment pas.
 
Merci de m'aider encore un peu, je vais continuer de chercher de mon coté !


Message édité par Monico le 10-02-2009 à 12:42:55
Reply

Marsh Posté le 11-02-2009 à 00:23:56    

Code :
  1. $s=preg_replace("!</a></b><br>(.*)</td>!Ui","</a></b></td>",$s);


C'est quand même pas compliqué à adapter...

Reply

Sujets relatifs:

Leave a Replay

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