【问题标题】:JS Regex to replace all html tagsJS正则表达式替换所有html标签
【发布时间】:2015-07-08 21:28:37
【问题描述】:

我花了一段时间研究这个并且找不到解决方案,我正在寻找一种从字符串中删除所有 html 标签的方法,如果出现 img 标签,则只用 src 属性替换它们,抱歉信息很少。谢谢。

【问题讨论】:

    标签: javascript jquery html regex


    【解决方案1】:

    首先做一个正则表达式替换,替换这个

    <img.+?src="(.+?)".*?>

    用这个\1。这将用 src 属性的内容替换整个 img 标签。

    然后用这个替换所有其余的标签

    <.+?>

    并替换为空/空白。

    【讨论】:

    • <?.+> 不会贪心,因此会匹配整个字符串 <b>this is my text</b> 而不仅仅是 <b></b>
    • 是的,你完全正确!我有一个错字。它应该是<.+?>。感谢您指出了这一点。 :)
    【解决方案2】:

    我认为你可能需要这样的东西:

    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);
    &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

    【讨论】:

    • 谢谢,这段代码确实回答了我的问题,所以我会接受作为答案,但是它在我的代码中不起作用,我必须调整这段代码以满足我的需要。
    • 能否请您更新您的答案,以便其他人可以看到: $("
      " + str + "
      ").find('img').replaceWith(function() {
    • 如果您正在寻找代码答案,您应该询问代码而不是正则表达式。
    猜你喜欢
    • 2017-07-15
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2020-05-22
    相关资源
    最近更新 更多