需要正则表达式才能在标签外找到javascript文本

kom*_*kar 1 html javascript regex

需要正则表达式来查找任何HTML标签之外的文本

<tag>Some</tag>Text, you have <tag url="something">Here</tag>
Run Code Online (Sandbox Code Playgroud)

结果:

"Text, you have "
Run Code Online (Sandbox Code Playgroud)

这里,标签可以是任何未指定的HTML标签.正则表达式应忽略文本和返回所有标记之外的文本之间的标记和文本

Aru*_*hny 5

对于html内容解析,最好使用dge解析而不是正则表达式

var string = '<tag>Some</tag>Text, you have <tag url="something">Here</tag>';

var tmp = document.createElement('div');
tmp.innerHTML = string;
var lst = [];
for (var i = 0; i < tmp.childNodes.length; i++) {
  if (tmp.childNodes[i].nodeType == Node.TEXT_NODE) {
    lst.push(tmp.childNodes[i].nodeValue);//use trim if needed
  }
}

var text = lst.join('');
snippet.log(text)
Run Code Online (Sandbox Code Playgroud)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
Run Code Online (Sandbox Code Playgroud)