A voir également:
- [PHP] - Expression régulière
- Easy php - Télécharger - Divers Web & Internet
- Expression de recherche - Guide
- Expected expression ✓ - Forum C
- Php natif - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
3 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
19 févr. 2007 à 17:25
19 févr. 2007 à 17:25
Bonjour,
Je ne pense pas que tu puisses exclure toute une chaine.
Par contre, tu peux exclure toutes les balises comme ceci :
<balisedébut>([^<]*)</balisefin>
Mais cela ne fonctionnera pas si tu as des sous-balises, du genre
<balisedébut>truc<balise intérieure>chose</balise intérieure></balisefin>
Xavier
Je ne pense pas que tu puisses exclure toute une chaine.
Par contre, tu peux exclure toutes les balises comme ceci :
<balisedébut>([^<]*)</balisefin>
Mais cela ne fonctionnera pas si tu as des sous-balises, du genre
<balisedébut>truc<balise intérieure>chose</balise intérieure></balisefin>
Xavier
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 févr. 2007 à 18:50
19 févr. 2007 à 18:50
Je ne sais pas si en php on à le quantificateur ?
A savoir que le quantificateur * est gourmand et *? et moins gourmand
Voilà avec Perl
A savoir que le quantificateur * est gourmand et *? et moins gourmand
Voilà avec Perl
$ echo '<balisedébut>blabla</balisefin><balisedébut></balisefin><balisedébut></balisefin>' | perl -ne 'print "\$1 = $1\n" if /<balisedébut>(.*?)<\/balisefin>/' $1 = blabla
Je viens de tester avec PHP, le quantificateur *? ne fonctionne pas en expression régulière POSIX. Je vais tester en PCRE dès que je saurai comment faire.
Ce problème m'intéresse au plus haut point, j'ai fait un autre test de la façon suivante :
<balisedébut>(.*)<\/balisefin>((.*)<\/balisefin>)*
Mais cela ne fonctionne pas.
Si jamais quelqu'un parvenait à résoudre ce problème, faites-le moi savoir.
Ce problème m'intéresse au plus haut point, j'ai fait un autre test de la façon suivante :
<balisedébut>(.*)<\/balisefin>((.*)<\/balisefin>)*
Mais cela ne fonctionne pas.
Si jamais quelqu'un parvenait à résoudre ce problème, faites-le moi savoir.