将 BR 标签转换为文本区域中的新行
converting BR tags into new lines in a textarea
这是我创建的一个函数,它应该将每个 Br
换行符转换为 \n
:
function br2nl($st){
return preg_replace('/<br(\s+)?\/?>/i', "\n", $st);
}
然而,输出是这样的:
foo
bar
nuts
我希望它输出如下内容:
foo <br>
bar <br>
nuts
可能你的 HTML 是
foo<br>
bar<br>
nuts<br>
所以你已经有了 "\n" 并将 br 替换为 "\n" 你最终得到了双 "\n" like
foo \n\n bar \n\n nuts
看起来像
foo
bar
nuts
为了接收您建议的输出 - 您需要从输入 HTML 中删除“\n”,然后将 br 替换为“\n”
代码为
function br2nl($st){
$st_no_lb = preg_replace( "/\r|\n/", "", $st );
return preg_replace('/<br(\s+)?\/?>/i', "\n", $st_no_lb);
}
这是我创建的一个函数,它应该将每个 Br
换行符转换为 \n
:
function br2nl($st){
return preg_replace('/<br(\s+)?\/?>/i', "\n", $st);
}
然而,输出是这样的:
foo
bar
nuts
我希望它输出如下内容:
foo <br>
bar <br>
nuts
可能你的 HTML 是
foo<br>
bar<br>
nuts<br>
所以你已经有了 "\n" 并将 br 替换为 "\n" 你最终得到了双 "\n" like
foo \n\n bar \n\n nuts
看起来像
foo
bar
nuts
为了接收您建议的输出 - 您需要从输入 HTML 中删除“\n”,然后将 br 替换为“\n”
代码为
function br2nl($st){
$st_no_lb = preg_replace( "/\r|\n/", "", $st );
return preg_replace('/<br(\s+)?\/?>/i', "\n", $st_no_lb);
}