Mode multiline et option ungreedy ?
Bonjour,
Après une bonne prise de tête pour récupérer le texte (sur plusieurs lignes) contenu
dans une balise div, je me suis aperçu que le mode multiline ne fonctionnait pas
toujours notamment sous FF. Donc exit l'option m.
Suite à des recherches j'ai trouvé un code qui contourne le problème:
Code:
var div_content = /<div class="maclasse">([^þ]*)<\/div>/i;
Le truc consiste à cibler tous les caractères exceptés ceux qui n'ont, à priori, aucune chance d'apparaitre
dans la chaine. ici en l'occurence: þ
Voici mon code:
Texte à matcher:
Citation:
<div class="maclasse">
contenu du div maclasse
</div>
<div class="uneclasse">
contenu du div uneclasse
</div>
Code:
Code:
1 2 3
| var div_content = /<div class="maclasse">([^þ]*)<\/div>/i;
var result = data.match(div_content);
alert (result[1]); |
Ce qui m'affiche le résultat suivant:
Citation:
contenu du div maclasse
</div>
<div class="uneclasse">
contenu du div uneclasse
c'est presque bon sauf qu'au lieu de s'arrêter au 1er </div> après <div class="maclasse">, il
continue jusqu'au bout.
Y a t-il une équivalence de ungreedy (U) comme en PHP ?
Je sais qu'il y a l'option g, mais que je la mette ou pas le résultat est le même.
Quelqu'un pourrait-il maider ?
Merci