我的输入文字是这样的
bla;bla<ul>
<li>line one</li>
<li>line one</li>
<ul>bla
line two
line tree
我只想用空格替换包含“>”的行; 在行尾没有'>'的另一行将被忽略。
输出应为:
bla;bla<ul><li>line one</li><li>line one</li><ul>bla
line two
line tree
替换该行的PHP代码应该是什么?
我尝试过
$output = preg_replace( "/\r|\n/", "", $text );
但这不是一个好主意,因为该代码将应用于$ text的所有行
非常感谢您。
现在我可以解决这个问题
$output = preg_replace("/(?<=>)\s+(?=)/", "", $text );
非常感谢您
答案 0 :(得分:0)
您可以使用>(?:\n|\r\n)
正则表达式并将其替换为>
,它将与仅位于行尾的>
相匹配。
$text = "bla;bla<ul>\n<li>line one</li>\n<li>line one</li>\n<ul>bla\nline two\nline tree";
$output = preg_replace( "/>(?:\n|\r\n)/", ">", $text );
echo $output;
哪个提供了您期望的以下输出
bla;bla<ul><li>line one</li><li>line one</li><ul>bla
line two
line tree