|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Bonjour à tous,
je recherche une expression rationelle qui permet de surligner les occurences d'un mot clé dans une source html. Le problème majeur que j'ai c'est que le terme ne doit pas être DANS une balise html. Exemple: Mot clé: le Citation:
Citation:
Donc je n'arrive pas à créer un REGEX qui fonctionne bien. Pouvez-vous m'aider ? Merci. |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Peut-être pourrais-tu splitter en utilisant les balises HTML et faire ton traitement à partir de ça ? Code :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Non, le but est de tout faire en une seule ligne.
le critère de remplacement serait quelque chose comme: \1<span>\2</span>\3 j'ai quelque chose que je PENSE est fonctionnel mais je suis pas certain. Et dans le regex que tu donne, il faut s'assurer de mettre un .+? car juste .+ ca va prendre le premier < jusqu'au dernier > |
|
|
00
|
|
|
#4 | |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Citation:
Le seul souci que je vois est qu'elle ne récupère rien après la dernière balise.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Le language que j'utilise ne supporte pas les modificateur en fin d'expression.
C'est d'ailleurs pour cela que ca me prend une seule expression qui fera tout. --> Tu est dans le forum PHP! Oui mais le language en question n'est pas sur ce forum et ma question étaient uniquement sur le regex. Une alternative en plusieurs lignes ne fonctionnera donc pas. Je veux juste une expression rationnelle, ce qui est relativement identique partout. pour les raisons technique, j'ai besoin d'avoir un regex qui tiendra sur une ligne, pas un ensemble d'instructions. Une utilisation du genre: remplacement (regex, "\1<span>\2</span>\3",codehtml); Je pense que j'ai réussit, mais je teste encore pour vérifier, je vais poster le regex en question dès que je serais au bureau pour que tu puisse voir si je suis dans le champs ou si ca tiend la route. |
|
|
00
|
|
|
#6 | ||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Voilà ce que je suis arrivé à faire (syntaxe mise en PHP pour plus de clareté):
Code :
Bon, je sais que ce n'est pas une fonction PHP, mais le regex et la facon de l'utilisé reste la même. Et ce genre de regex (s'il est bon), est extrèment pratique pour faire des script de surlignage dans une page. (Comme dans GMail). |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com