|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Salut,
J'ai une chaine, ici <p> </p>, que je souhaite remplacer si elle se repètes trop de fois à la suite. Je sais faire ça pour un caractère, mais je n'ai aucune idée pour une chaine entière... Voila ce que j'ai: Code :
$text = preg_replace("#(\<p\> \</p\>){".$sautslignes."}#Us", "<p> </p>", $result['Text']); |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Aucune idée ou j'ai mal expliqué?
|
|
|
00
|
|
|
#3 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Je pense que tu peux utiliser les quantifieurs entre accolades :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Merci de ta réponse mais même si je rajoute la virgule, aucun remplacement n'est fait (mais cette fois, pas de problème de sauts à tout va...).
Merci |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Oops je retire ce que j'ai dit ça a l'air de fonctionner
|
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Si quelqu'un peut m'aider à réfléchir je lui en serai reconnaissant...
J'ai un texte: Citation:
Voila ce que je fais: Code :
$text = preg_replace("#(\<p\> \</p\>){".($sautslignes+1).",}#Us", "", $result['Text']); Mais comme résultat j'ai: Citation:
|
||
|
|
00
|
|
|
#7 | ||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Code :
[Edit] Info : le modificateur "U" qui faisait foirer ta regex. Il l'empêchait de prendre autant de paragraphes que possible.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Merci beaucoup ton code marche parfaitement. Par contre une question: pourquoi le {5,} puisqu'ensuite tu remplaces par 4x ma chaine? Moi je verrai plutot un {1, } pour tout prendre non?
|
|
|
00
|
|
|
#9 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Dans ton premier message, tu dis "si elle se répète trop de fois à la suite". J'ai donc supposé que tu ne voulais pas que ça apparaisse plus de 4 fois mais qu'1, 2 et 3 sont des nombres possibles.
Maintenant, je pense que tu peux l'adapter à tes besoins, n'est-ce pas ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Oui j'ai adapté. Mais avec ton code je croyais que ça laissait les 4 premiers termes, et les suivant étaient remplacés par 4 fois encore le termes (donc 8).
L'essentiel c'est que ça fonctionne Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com