【发布时间】:2015-07-08 21:28:37
【问题描述】:
我花了一段时间研究这个并且找不到解决方案,我正在寻找一种从字符串中删除所有 html 标签的方法,如果出现 img 标签,则只用 src 属性替换它们,抱歉信息很少。谢谢。
【问题讨论】:
标签: javascript jquery html regex
我花了一段时间研究这个并且找不到解决方案,我正在寻找一种从字符串中删除所有 html 标签的方法,如果出现 img 标签,则只用 src 属性替换它们,抱歉信息很少。谢谢。
【问题讨论】:
标签: javascript jquery html regex
首先做一个正则表达式替换,替换这个
<img.+?src="(.+?)".*?>
用这个\1。这将用 src 属性的内容替换整个 img 标签。
然后用这个替换所有其余的标签
<.+?>
并替换为空/空白。
【讨论】:
<?.+> 不会贪心,因此会匹配整个字符串 <b>this is my text</b> 而不仅仅是 <b> 和 </b>?
<.+?>。感谢您指出了这一点。 :)
我认为你可能需要这样的东西:
var str = "<b>TEST</b> <p><img src='path.png' /> boom <span>sss</span></p>";
var text = $(str).find('img').replaceWith(function() {
return $(this).attr('src');
}).end().text();
alert(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
【讨论】: