![]() |
|
||||
|---|---|---|---|---|
| Posté par : joe coe le 31 May 2009, 13:03 |
|
|||
|
Je commence cet article las de voir que le niveau de forums en informatique est a peu près aussi lamentable que celui des forums boursiers. Je me demandais donc comment remplacer un texte avec une fonction comme preg_replace ou ereg_replace en php qui ne soit pas dans des balises html.
Comment remplacer un texte avec preg_replace qui ne soit pas dans des balises html.
preg_replace('#toto(?![^<]+>)#si','tata',$sTexte);
remplace toto par tata si toto n'est pas dans une balise html.
Ne pas remplacer le texte si celui ci est contenu dans une balise lien <a></a>Se pose alors le problème de na pas remplacer le texte dans une balise de type <a href="toto.html">toto</a>. En effet, si je souhaite remplacer mon mot par un lien, la syntaxe précédente ne va pas remplacer toto.html puisqu'il est placer dans la balise mais va remplacer la seconde occurence qui n'est pas dans une balise html.
$sTexte = '<a href="toto.html">toto</a>'; C'est ennuyeux. Il peut être important d'empècher le remplacement dans une balise de type lien. Voici donc une solution : preg_replace('#toto (?!</a>)(?![^<]+>)#si','<a href="monlien.html">Lien</a>',$sTexte);
|
||||
|
||||
![]() |
![]() |
Indices Boursiers
|
Cotation Devises
Matières Premières
|
| Atari | 2.09 | +8.29% |
| Sequana | 6.34 | +7.96% |
| Société Générale | 25.13 | +5.39% |
| Devoteam | 13.32 | +5.30% |
| Jacquet Metal Service | 10.50 | +5.16% |
| Etam Développement | 16.30 | -4.51% |
| GDF Suez | 20.30 | -4.81% |
| Technicolor | 2.16 | -5.35% |
| NicOx | 1.67 | -8.74% |
| Oxis International | 0.03 | -25.00% |
|
ALCATEL-LUCENT ALSTOM EDF |
Votre Liste |