[英]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.