繁体   English   中英

使用javascript查找HTML标签在文本中的位置,最好不使用正则表达式?

[英]Find position of HTML tags in text with javascript, preferrably not using regex?

我有包含HTML标记的文本。 我想找出每个标签对的开始和结束位置。 即打开标签的文本位置和标签的文本位置。

因为我知道使用正则表达式匹配标签很复杂(关于嵌套标签,引号等),所以我想使用一些更可靠的方法-例如DOM函数。

我的文字示例:

text <tag>text text </tag> text

在我的示例文本中,结果应为两个数字-5(开始标记的位置)和26(结束标记的最后一个字母的位置)

我的文字的复杂示例:

text <tag> text <tag2> text </tag2> text </tag> text

在第二个示例中,结果应该是两个数字-5和47(第一级标签的结尾位置-我不在乎嵌套标签)

这可能吗 ? 期待任何提示和帮助。 谢谢。

尽管这不能回答有关职位的问题,但您可能需要查看XMLDom。 您必须人为地为文档创建一个根节点,但是事情应该可以进行:

var txt = "text <tag> text <tag2> text </tag2> text </tag> text";
txt = '<root>' + txt + '</root>';

var parser = new DOMParser();
var xmlDoc = parser.parseFromString(txt, "text/xml");

alert(xmlDoc.firstChild.childNodes);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM