如何使用JavaScript清除字符串中的标记

oca*_*nal 4 javascript innerhtml

<div id="mydiv">
    <p>
        <b><a href="mypage.html">This is an example<a>.</b>
        <br>
        This is another example.
    </p>
</div>

<script type="text/javascript">
    var mystr = document.getElementById('mydiv').innerHTML;
    .....
</script>
Run Code Online (Sandbox Code Playgroud)

我想清除所有标签,并获取盐文本,

mystr = "This is an example this is another example.";
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Fel*_*ing 11

使用innerTexttextContent:

var element = document.getElementById('mydiv');
var mystr = element.innerText || element.textContent;
Run Code Online (Sandbox Code Playgroud)

DEMO

我刚看到字符串仍然包含换行符.您可能希望删除它们replace:

mystr = mystr.replace(/\n/g, "");
Run Code Online (Sandbox Code Playgroud)

更新:

正如@ŠimeVidas在他的评论中指出的那样,似乎你必须处理白色空格有点不同以修复IE中的字符串:

mystr = mystr.replace(/\s+/g, ' ');
Run Code Online (Sandbox Code Playgroud)

  • 从我的测试`\ s +`将捕获所有的空白区域,包括换行符,这使它成为最终的解决方案.因此不需要`\n`. (2认同)