|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Bonjour,
J'aimerais trouver les chaines de le forme: == chaine == mais pas: == chaine === Comment préciser que je veux à droite le même nombre de caractères qu'à gauche? Merci |
|
|
00
|
|
|
#2 | ||
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
Un truc comme ça :
Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Merci !
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Étudiant Inscription : février 2004 Messages : 2 168 ![]() |
Re,
En fait le \1 reproduit la première parenthèse capturante, mais rien n'empêche d'avoir == chaine === qui fonctionne, puisque dans mon cas, il n'y a pas de fin de ligne délimitée par $. Du coup j'ai fait (qui semble fonctionner): Code :
$text = preg_replace_callback('`(\=+) ([^\n]+?) \1([^=]{1}|$)`', 'plan', $text); - récupérer une chaine sur une seule ligne - empêcher en fin de motif d'avoir des = en trop, cad au moins un caratère quelconque qui ne soit pas =, ou arriver à la fin de ma chaine complète. Est-ce que cela semble propre (notamment les +? pour cette histoire de "gourmandise" que je n'ai jamais trop compris)? Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com