我有一些这样的文字
Keeping up with friends is faster than ever.<p>• See what friends are up to<br>• Share updates, photos and videos<br>•
我想要这样的文字
Keeping up with friends is faster than ever.
• See what friends are up to
• Share updates, photos and videos
我通过str.replace(/<[^>]+>/gm, '')
清除了html标签,但我无法删除特殊符号。
我正在计算字符串的长度,所以在浏览器编译之前特殊字符给了我不同的长度。
由于
答案 0 :(得分:0)
在这种情况下,最好使用外部库(如jQuery)来帮助你。
在下面的示例中,我使用了名为text()的jQuery函数。这是文档:http://api.jquery.com/text/
顾名思义,jQuery文本函数将HTML作为文本读取。
var asText = $("#example").text();
$("#asText").text(asText);
$("#asTextLength").text(asText.length);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p id="example">• Ex<em>ample</em> & <span>T<strong>est</strong></span></p>
<p id="asText"></p>
<p id="asTextLength"></p>
&#13;
答案 1 :(得分:0)
唯一的#34;权利&#34; (完成)这样做的方法是将文档解析为HTML DOM,然后创建一些将读取DOM的内容并将其格式化为您的定义&#34; simple&#34;。
除了Javascript之外,还有很多工具可以做到这一点,之前的StackOverflow交流讨论了其中的一些:
我认为&#34;滚动你自己&#34;在Javascript中会很痛苦,除非你设置了一个非常低的标准,并且只是努力做到&#34;漂白&#34; HTML数量非常有限。
话虽如此,为什么你不能继续使用你所拥有的一个工具,并继续投入规则&#34;处理你想要处理的事情?
str.replace(/•/gm, '•')
<等>等等,yada yada yada, ad nauseum ...
答案 2 :(得分:0)
您可以使用ng-bind-html,例如
<p ng-bind-html="myHTML"></p>
$scope.myHTML = 'Keeping up with friends is faster than ever.<p>• See what friends are up to<br>• Share updates, photos and videos<br>•';