JavaScript RegEx pour les balises div
J'ai une variable JavaScript qui est titulaire d'une page HTML et en raison de la configuration j'ai besoin d'extraire tout le contenu entre <div id="LiveArea">
et </div>
à partir de cette variable à l'aide de JavaScript.
Toute aide est grandement appréciée.
Vous devez vous connecter pour publier un commentaire.
Cela devrait le faire:
div
à l'intérieur deLiveArea
; si elle est gourmande, elle s'arrête à la dernière clôturediv
, encore une fois, n'est pas forcément celle qui correspond à votre ouverturediv
. Aussi, PhilLho est droit:matches[0]
tiendra le modèle adapté etmatches[1]
de maintenir votre capture d'un groupe.Ce ne sera pas possible avec juste une expression régulière sauf le code HTML à l'intérieur de cette div contient pas d'autres divs. Parce que ce qui va arriver avec un modèle du type de Jeremy, c'est qu'il aura match de clôture de la première balise div, ce qui ne serait pas nécessairement être la balise de fermeture de la div#LiveArea élément.
Si vous avez le contrôle sur la source HTML, vous pouvez insérer un commentaire que vous pourriez utiliser pour faire correspondre pour le corriger "fermeture" de l'emplacement.
Il y a d'autres javascript options, mais ils sont très encombrants ou hacky
</div>
tag.Je ne suis pas sûr que je vous suivre quand vous dites, "variable Javascript qui est titulaire d'une page html", mais Si vous avez besoin d'extraire le code HTML entre un div, vous pouvez utiliser l'élément de la propriété innerHTML.
J'ai trouvé ce l'article en surfant sur le web qui prennent un DIV id et l'affiche sur une nouvelle page pour l'imprimer;
}
Vous appelez ce script d'envoi de la DIV id que vous souhaitez obtenir;
Cela a fonctionné exactement comme je le voulais. Espérons que cela aide
il semble que javascript n'est pas en charge lookbehinds qui est très décevant, qui ferait de ce problème de manière beaucoup plus facile à résoudre.
(?<=<div id="LiveArea">).*(?=<\/div>)
voici quelques liens qui pourraient vous aider tho.
bien que tout en discutant de la question de balises imbriquées... qui serait au-delà des capacités de regex pour résoudre de manière de jeremy qui est la meilleure solution que vous pouvez faire avec les regex. et quoi de plus, ils doivent être sur une seule ligne... il n'a même pas de match si le contenu de la div sont séparées sur les lignes, car il n'y a pas de " s " drapeau pour le javascript. Je pense que pierre a donné la réponse pour celui-ci.
Laisser jQuery faire l'analyse pour vous:
Utiliser l'expression régulière suivante:
Désolé pour le retard de réponse, si quelqu'un trébuche sur ce problème, voici ma suggestion, en supposant que vous avez accès à la page que vous lisez à partir du code source.
Ajouter un HTML-commentaire comme celui-ci
Puis de l'apparier avec