PHP-如何使用'&燃气轮机';断线前
我有这样的输入文本PHP-如何使用'&燃气轮机';断线前,php,regex,preg-replace,Php,Regex,Preg Replace,我有这样的输入文本 bla;bla<ul> <li>line one</li> <li>line one</li> <ul>bla line two line tree 但这不是一个好主意,因为该代码将应用于所有的$text行 非常感谢你 现在我可以用这个解决问题了 $output = preg_replace("/(?<=>)\s+(?=)/", "", $text ); $output=preg\u re
bla;bla<ul>
<li>line one</li>
<li>line one</li>
<ul>bla
line two
line tree
但这不是一个好主意,因为该代码将应用于所有的$text行
非常感谢你
现在我可以用这个解决问题了
$output = preg_replace("/(?<=>)\s+(?=)/", "", $text );
$output=preg\u replace(“/(?)\s+(?=)/”,“”,$text);
非常感谢您可以使用(?:\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;
$text=“bla;bla\n- 第一行
\n- 第一行
\nbla\nline two\nline tree”;
$output=preg_replace(“/>(?:\n |\r\n)/”,“>”,$text);
echo$输出;
这会像您期望的那样提供以下输出
bla;bla<ul><li>line one</li><li>line one</li><ul>bla
line two
line tree
bla;bla- 一号线
- 一号线
bla
第二行
界址树
请编辑您的问题,并添加您尝试过但不适用于您的代码。您为什么要这样做?我编辑了一个包含一些html元素的csv文件并导致错误,因此我想删除html标记中“>”之后的所有换行符,将它们保留在一行中非常感谢,非常感谢,但是它对我不起作用。@Sun:它对你不起作用的一个原因可能是因为你的文件可能有windows新行,它是
\r\n
。因此,覆盖windows换行符的更好的正则表达式应该是\n | \r\n
。您的正则表达式“(?)\s+(?=)”可能适用于您的情况,但它也将匹配行中间的一个或多个空格,前面是
,而不是行尾,并将删除该空格。此外,许多语言和工具都不支持look-behind,因此更安全的正则表达式应该是>(?:\n |\r\n)
,并用
替换它。为语言不支持lookbehinds的人更新我的答案。
$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