允许HTML中最多连续2次换行

Col*_*ole 0 php regex

例如:

StackOverflow<br>
<br>
<br>
<br>
<br>
is
<br>
<br>
<br>
<br>
a
<br>
community.
Run Code Online (Sandbox Code Playgroud)

至:

StackOverflow
<br>
<br>
is
<br>
<br>
a
<br>
community.
Run Code Online (Sandbox Code Playgroud)

如果<br>字符串中有多于2 个,则应删除所有字符串<br>并仅保留两个字符串.代码到目前为止:

$txt_unclean = trim(nl2br($_POST['txt_content']));
$txt_content = strip_tags($txt_unclean, '<br>');
Run Code Online (Sandbox Code Playgroud)

你下一步怎么做?我如何允许不超过2 <br>.

Ja͢*_*͢ck 5

如果您的加价是这样控制的,您可以使用preg_replace两个以上的连续匹配<br>:

$txt_content = preg_replace('/(<br>\s*){3,}/', '$1$1', $txt_content);
Run Code Online (Sandbox Code Playgroud)

要匹配自闭标签:

$txt_content = preg_replace('/(<br\s*/>\s*){3,}/', '$1$1', $txt_content);
Run Code Online (Sandbox Code Playgroud)

否则,我会考虑使用DOM解析器来完成这项工作; 话虽如此,它并不那么容易:)