【发布时间】:2014-04-11 03:47:42
【问题描述】:
一位朋友问我这个问题,因为我对 RegExp 的了解还不是很好,所以我在这里。
如何从这个字符串中排除 HTML 标签?
re<br>na<br>to<br>galvao
我尝试了一些正则表达式,但它没有像我预期的那样工作。
(.*)<.*>(.*)
但是这个 RegExp 得到了第一个 。
有什么想法吗?
【问题讨论】:
-
如果没有真正的解析器,这将是不够的,因为您仍然会有
script、style、object等标签,其中包含内容。 -
这很容易回答,你根本不应该使用正则表达式。'
-
这是你应该做的 -> jsfiddle.net/Hpe5M
-
@adeneo 正是我开始阅读这个问题时的想法。没什么大不了的,但我通常使用
d.textContent || d.innerText(翻转属性),因为我希望大多数人会使用支持textContent的浏览器,因此不要对innerText进行不必要的检查。再说一次,没什么大不了的。说真的,将其发布为答案 -
在很多情况下,正则表达式都能很好地完成这项工作。像这个。正则表达式与 DOM 的缺点与实际解析有关,例如正确验证或遍历。像剥离所有标签这样简单的事情很容易,而正则表达式绝对可以很容易地做到这一点。太多人跳上“哦,不,有人在同一句话中提到了正则表达式和 html,烧死女巫!”潮流
标签: javascript regex