方法 1
function br2newline( $input ) {
$out = str_replace( "<br>", "\n", $input );
$out = str_replace( "<br/>", "\n", $out );
$out = str_replace( "<br />", "\n", $out );
$out = str_replace( "<BR>", "\n", $out );
$out = str_replace( "<BR/>", "\n", $out );
$out = str_replace( "<BR />", "\n", $out );
return $out;
}
将换行标签转换为换行符 - 无论正在处理什么类型的 HTML。
方法 2
function br2nl( $input ) {
return preg_replace('/<br(\s+)?\/?>/i', "\n", $input);
}
方法 2 比方法 1 效果好得多
但在方法 1 中,您可以只使用前三个调用并使用 str_ireplace() 代替。
我受苦了。我使用了 ” 但我应该使用 ‘。这真的是一个错误吗?
请帮我解决一下为什么在
function br2nl( $input ) {
return preg_replace(‘//i’, “\n”, $input);
}
preg_ replace 的第一个参数的末尾使用“i”
function br2nl( $input ) {
return preg_replace('//i', "\n", $input);
}
抱歉,代码搞乱了
使正则表达式不区分大小写
您也可以执行以下操作
function _br2nl($input)
{
return str_replace(array("", "", "", "", "", ""),"\n", $input );
}
<pre><code>
function _br2nl($input)
{
return str_replace(array(“<br>”, “<BR>”, “<br/>”, “<BR/>”, “<br />”, “<BR />”),”\n”, $input );
}
</code></pre>
`(\s+)?` 可以简化为 `\s*`。
似乎您只需要使用 nl2br() 函数
就这样。
您可以替换此内容
为此
以下是我将如何操作
但您应该知道它不会对恶意输入起作用,例如
这是此类输入的测试。
有没有办法将 css 样式应用于 br
这很有帮助。但是我想在 wordpress 中更改为 。我尝试了 remove_filter( ‘the_content’, ‘wpautop’ );
remove_filter( ‘the_excerpt’, ‘wpautop’ ); 但不起作用
preg_replace(‘#(\s*)+#i’, “\n”, $input);