简体   繁体   English

如何使用 jQuery 从字符串中删除输入标签? 该字符串还包含其他 html 标签

[英]How can I remove input tags from a string using jQuery? This string contains other html tags as well

this is the string:这是字符串:

Hi &nbsp;<input type="text" placeholder="Person&nbsp;Full&nbsp;Name">,<span><br></span><span><br></span><span><span> This is a sample email template for &nbsp;</span></span><input type="text" placeholder="Deal&nbsp;Title">&nbsp;&nbsp;<input type="text" placeholder="Person&nbsp;Full&nbsp;Name">,<span><br></span><span><br></span><span><span>这是一个&nbsp;</span></span><input type="text" placeholder="Deal&nbsp;Title">&nbsp;的示例 email 模板associated with &nbsp;<input type="text" placeholder="Deal&nbsp;Owner"><span><br></span><span><br></span><span><span><br></span></span><span><span><span> Regards, </span></span></span><span><span><span><span><br></span></span></span></span><input type="text" placeholder="Organization&nbsp;Name"><span><br></span><span> dlkgmffkgmkm &nbsp;</span><input type="text" placeholder="">&nbsp;&nbsp;<input type="text" placeholder="Deal&nbsp;Owner"><span><br></span><span><br></span><span><span><br></span></span><span><span><span>问候, </span></span></span><span><span><span><span><br></span></span></span></span><input type="text" placeholder="Organization&nbsp;Name"><span><br></span><span> dlkgmffkgmkm &nbsp;</span><input type="text" placeholder="">&nbsp; dslkfmlgdmglkfnkl <input type="text" placeholder=""><br> dslkfmlgdmglkfnkl <input type="text" placeholder=""><br>

I am also using an Editor in my textarea.我也在我的文本区域中使用编辑器。

        $(".btn-removehtml").click(function() {
           html = $('.email-textarea').Editor("getText");
           replaceInput = html.find('input').replaceWith(function() {
                return this.innerHTML;
           }).end().html();
        });

You can try this..你可以试试这个。。

var string = '<input type="text" placeholder="Person&nbsp;Full&nbsp;Name">,<span><br></span><span><br></span><span><span>';

var newString = $(string).not('input');

$('body').append(newString);

For all use input you can do this.对于所有使用输入,您都可以执行此操作。

var newString = $(string).find('input').remove().end();

call the below function to replace the all the input in to static value "abcd"调用下面的 function 来替换 static 值“abcd”中的所有输入


function parseEmailTemplate(html) {
    let myRegex = /<input\s[^>]*>/gi;
    let match = myRegex.exec(html);
    if (match) {
        value="abcd";
        html = html.replace(match[0], value);
        html = parseEmailTemplate(html);
    }
    return html;
}

Using html() and remove()使用html()remove()

 var string = `Hi&nbsp;<input type="text" placeholder="Person&nbsp;Full&nbsp;Name">,<span><br></span><span><br></span><span><span>This is a sample email template for&nbsp;</span></span><input type="text" placeholder="Deal&nbsp;Title">&nbsp;associated with&nbsp;<input type="text" placeholder="Deal&nbsp;Owner"><span><br></span><span><br></span><span><span><br></span></span><span><span><span>Regards,</span></span></span><span><span><span><span><br></span></span></span></span><input type="text" placeholder="Organization&nbsp;Name"><span><br></span><span>dlkgmffkgmkm&nbsp;</span><input type="text" placeholder="">&nbsp; dslkfmlgdmglkfnkl <input type="text" placeholder=""><br>` var html = string // $('.email-textarea').Editor("getText"); var $html = $('<div/>').html(html); $html.find('input').remove(); var replaceInput = $html.html(); document.body.innerHTML = replaceInput; // $('.email-textarea').Editor("setText", replaceInput);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM