gpt4 book ai didi

javascript - 将结束 HTML 标记替换为 HTML 标记 +\n

转载 作者:行者123 更新时间:2023-12-03 10:26:04 24 4
gpt4 key购买 nike

我正在尝试用结束标签+换行符替换通常结束的html标签,我在这里找到了类似的帖子,但没有一个真正帮助我完成我正在寻找的东西。

</li>将是</li>\n

<img some property />将是<img some property />\n

我设法在 php 中使用以下函数来做到这一点,效果很好:

 public static function addLBinHTML($htmlcode){

$pattern= array('~(</.*?>)~','(/>)');
$replace= array('${1} Hallo \n ','/>\n ');

return preg_replace($pattern, $replace, $htmlcode);
}

我试图在 JavaScript/jQuery 中执行相同的操作,但无法获取变量(在 php regex ${1} 中)。

我尝试过使用 .split .join 和 .replace,我认为 .replace 是正确的方法。

这是我得到的(我最后一次也是希望最接近的尝试)

function setLinebreaks(taID){

var strContent = $('#'+taID).val();
var regex = new RegExp("</.*?>", "gi");

strContent.replace(regex, "${1} \n ")
.replace(/\/>/g,'/> \n ');

console.log(strContent);
$('#'+taID).val(strContent);
}

预先感谢您的帮助

最佳答案

您必须捕获带括号的正则表达式,分配替换的字符串并将${1}替换为$1:

var regex = new RegExp("(</.*?>)", "gi");

strContent = strContent.replace(regex, "$1 \n ")
.replace(/\/>/g,'/> \n ');

或者您可以简单地将 replace 方法放入 val 函数中。

关于javascript - 将结束 HTML 标记替换为 HTML 标记 +\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29396013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com