【问题标题】:Need Javascript Regex to Remove one "<br>" tag from any number of consecutive "<br>" tags in a string需要 Javascript 正则表达式从字符串中任意数量的连续 \"<br>\" 标记中删除一个 \"<br>\" 标记
【发布时间】:2022-09-23 19:01:44
【问题描述】:

例如:
\"first line&lt;br&gt;&lt;br&gt;Second line\" 应替换为 \"first line&lt;br&gt;Second line\"
\"first line&lt;br&gt;&lt;br&gt;&lt;br&gt;Second line\" 应替换为 \"first line&lt;br&gt;&lt;br&gt;Second line\" 等等...

我想要做的是使用正则表达式将字符串中的所有换行符替换为&lt;br&gt; 字符串中的\"str.replace(/(?:\\r\\n|\\r|\\n)/g, \'&lt;br&gt;\')\",但这会增加一个&lt;br&gt; 标签,因为当有人在他们按下的textarea 中输入时输入两次而不是一次换行。

代码:

<textarea style=\"width:200px;height:200px\" id=\"first\"></textarea>
<textarea style=\"width:200px;height:200px;\" id=\"second\"></textarea>
<button id=\"submit\">submit</button>

<script type=\"text/javascript\">
    const firstTextArea = document.querySelector(\'#first\');
    const secondTextArea = document.querySelector(\'#second\');
    const submitBtn = document.querySelector(\'#submit\')
    submitBtn.addEventListener(\'click\' , function(){
        let str = firstTextArea.value.replace(/(?:\\r\\n|\\r|\\n)/g, \'<br>\');
        secondTextArea.value = str;
    })

</script>

输出:

标签: javascript html regex


【解决方案1】:

您只需要删除一个&lt;br&gt; 标签对吗?您正在使用替换。我们不能这样做吗

your_value.replace("<br>", "")

这将删除一个 br 标签 如果你有多个,那么这个

your_value.replace(/<br><br>/g, "<br>")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多