0

例えば:

StackOverflow<br>
<br>
<br>
<br>
<br>
is
<br>
<br>
<br>
<br>
a
<br>
community.

に:

StackOverflow
<br>
<br>
is
<br>
<br>
a
<br>
community.

文字列に2 つ以上ある場合は<br>、すべて削除して<br>2 つだけを保持する必要があります。これまでのコード:

$txt_unclean = trim(nl2br($_POST['txt_content']));
$txt_content = strip_tags($txt_unclean, '<br>');

次のステップは何ですか?2 を超えないようにするにはどうすればよいですか<br>

4

3 に答える 3

6

マークアップがそのように制御されている場合、 を使用preg_replaceして 2 つ以上の連続した を照合でき<br>ます。

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

自己終了タグも一致させるには:

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

それ以外の場合は、DOM パーサーを使用してこの作業を行うことを検討します。そうは言っても、それはそれほど簡単ではありません:)

于 2013-04-22T03:51:32.543 に答える