【发布时间】:2016-03-24 18:27:39
【问题描述】:
我想捕获后跟换行符的任何 HTML 结束标记,并仅用 HTML 标记替换它们。
比如我想转这个:
<ul>\n
<li>element</li>\n
</ul>\n\n
<br/>\n\n
Some text\n
进入这个:
<ul>
<li>element</li>
</ul>\n
<br/>\n
Some text\n
问题是我无法使用正则表达式捕获\n 字符:
preg_match_all('/(<\/[a-zA-Z]*>|<[a-zA-Z]*\/>)\n/s', $in, $matches);
一旦我将 \n 放在我的模式中的某个位置,matches 数组将返回空值。
有趣的是,如果我尝试单独匹配 \n 字符,它会找到所有字符:
preg_match_all('/\n/s', $in, $matches);
【问题讨论】:
-
所以你想用
\n替换\n\n?单独匹配不会取代任何东西。