|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Bonjour
Je cherche à remplacer les <br/> d'un texte par des sauts de lignes : Code :
Code :
Warning: preg_replace() [function.preg-replace]: Unknown modifier '>' in /chemin/recup_fic_etu.php on line 40 Que mettre ?
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
||
|
|
00
|
|
|
#2 | ||
|
Membre éclairé
![]() Développeur Web Inscription : mai 2007 Messages : 282 ![]() |
Salut,
si tu fais un simple remplacement tu peux utiliser la fonction str_replace(), cela va donner : Code :
|
||
|
|
00
|
|
|
#3 |
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Merci
Ça marche, mais j'ai l'impression d'avoir contourné le problème ![]() Je trouverais beaucoup plus joli d'avoir une commande de moins avec le preg_replace ! Je cherche donc encore l'astuce
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
|
|
00
|
|
|
#4 | ||
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
J'ai un problème plus grave pour la transformation inverse :
Code :
Mais dans certains cas, il est pire... Parfois, même après le remplacement il me reste un saut de ligne : je me trouve avec alors que j'aurais souhaitéMais pas dans tous les cas !!!! preg_replace est beaucoup plus intéressant dans mon cas car je traite plusieurs chaînes en même temps ! J'espère que la nuit va porter conseil ! Bonne nuit à tous
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
||
|
|
00
|
|
|
#5 | |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
Citation:
par contre tu as besoin de connaitre la liste entière des modifications possibles. est ce que tu as juste besoin de modifier "<br>" et "<br/>" ou bien tu dois aussi traiter <bR> ou "<br />" par exemple ?
__________________
Modérateur PHP |
|
|
|
00
|
|
|
#6 |
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Bonjour
Pour les changements, c'est juste : - <br/> => saut de ligne - => espace Il n'y aura rien autre. Je me dis de plus en plus qu'il faudra que je cherche à comprendre les expressions régulières ! À quand le courage final ?
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
|
|
00
|
|
|
#7 | ||||
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Bon, il me semble que ça marche !
Mon problème venait du symbole que j'utilisais pour encadrer mon expression régulière ! Si j'ai compris (à vous de me dire si je me trompe), le premier caractère est choisi pour encadrer l'expression, donc pour encadrer on a beaucoup de choix (mais pas les caractères ou \). Ceci donne : Code :
Code :
Je pensais qu'un simple échange de remplacement et motif dans preg_replace allait suffir : je me trompais encore !
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
||||
|
|
00
|
|
|
#8 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Pour le remplacement newline/tag, tu devrais utiliser la fonction nl2br() Sinon, voici une regex pour le remplacement tag/newline :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#9 | ||
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Citation:
Si oui, pourquoi ? Citation:
le \s sert à quoi ? il marque l'espace ? Je ne vois pas ça sur la doc que je regarde ! Avec le * qui indique qu'il peut en avoir plusieurs ou aucun ? le /? indique que le / peut être absent. Comme je connais l'origine de mes fichiers, je n'ai pas besoin de cet artéfact
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
||
|
|
00
|
|
|
#10 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Au temps pour moi, si tu connais l'origine de tes fichiers alors tu n'as pas besoin de regex. Utlise une simple fonction de remplacement de chaînes, cela fera gagner tes scripts en légèreté (quantité de mémoire + temps d'exxécution).
De manière générale, une regex sans classe ni wildcard n'a aucun intérêt. Sinon oui, tu as bien compris la regex que je te proposais Et pour nl2br, c'est tout simplement la fonction prévue à cet effet
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#11 |
![]() ![]() Bernard SIAUDEnseignant Inscription : novembre 2003 Messages : 4 400 ![]() |
Je la mets en commentaire dans mon code. Pour le moment, je trouve plutôt bien l'idée de faire un tableau pour modifier toutes mes chaînes en une seule instruction preg_replace($remplacement, $motif, $adresse);.
__________________
Modérateur Mandriva Linux Amicalement VOOotre Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org Mes tutoriels |
|
|
00
|
|
|
#12 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Si tu regardes les benchmarks effectués par Mathieu Fernandez, tu verras qu'éviter preg_replace() est souvent appréciable
http://m-fernandez.developpez.com/ar...p/bench/#LVIII
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Inscription : avril 2003 Messages : 188 ![]() |
j'avais le même problème
Merci pour les infos ça m'aide beaucoup dans mon code. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com