[PHP] preg_replace et les retours à la ligne ...

preg_replace et les retours à la ligne ... [PHP] - PHP - Programmation

Marsh Posté le 26-04-2002 à 21:46:32    

Voici le pattern que j'utilise :
preg_replace('/(\[table=)([^\]]*)\](.*?)(
\[\/table\])/',<table><tr><td>\\2</td><
/tr><tr><td>\\4</td></tr></table> );
 
Ca marche assez bien quand j'utilise une ligne du type :
[table=TEST]blablabla[/table]
 
Par contre, si je mets un retour à la ligne entre les deux ça ne marche plus :
[table=TEST]
blablabla
[/table]
 
Comment faire en sorte que ça marche ?!?


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-04-2002 à 21:46:32   

Reply

Marsh Posté le 26-04-2002 à 22:02:44    

Je viens de trouver ... en fait il faut remplacer .*? par [^\]]* et voilà ...
 
Pattern final : '/(\[table=)([^\]]*)\]([^\]]*)(\[\/table\])/'


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-04-2002 à 22:25:39    

Par contre j'ai un autre pb : dès que j'intercale des balises ça ne marche plus correctement.
 
Par exemple ceci :
[table][/table]
 
Marche parfaitement, par contre ceci :
[table]
[title]TEST[/title]
[content]lalalal[/content]
[/table]
 
Ne me remplace pas [table] ni [/table] ... une petite astuce ?


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-04-2002 à 22:55:39    

j ai jamais pigé le preg_replace j utilise toujours le str_replace que je maitrise

Reply

Marsh Posté le 26-04-2002 à 22:58:42    

Oui mais à ce stade, str_replace ne suffit plus. Je n'utilise pas preg_replace par masoshisme :D
 
Quelques liens :
Des RegEx tout prêts : http://www.phpinfo.net/?p=prog&rub=regex
Un petit tutorial : http://www.phpinfo.net/?p=articles&rub=regex


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-04-2002 à 23:43:13    

- Fred - a écrit a écrit :

 
Ne me remplace pas [table] ni [/table] ... une petite astuce ?  




 
Essaie en mettant la lettre 's' après le dernier '/' de ton expression régulière. Cela permet que PCRE interprète le point comme tout les caractères, y compris le retour chariot alors quand sans le 's', le retour chariot n'y est pas.
 
Regarde ici :
http://www.php.net/manual/fr/pcre. [...] ifiers.php

Reply

Sujets relatifs:

Leave a Replay

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