试图从the_content中删除三个或更多

时间:2014-01-01 14:56:56

标签: php regex

正如标题所示,我正在尝试从我的single.php中删除并替换<br>中的三个或更多get_the_content();

我目前正在使用此功能,但它似乎对文档中<br>的数量没有任何影响。

$content = get_the_content();
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]&gt;', $content);
$content = preg_replace('/(<br[\s]?[\/]?>[\s]*){3,}/', '<br /><br />', $content);
$content = strip_tags($content, '<br> <p> <a>');
echo $content; 

这给了我输出:

<br />
<br />
<br />
<a href="http://1.bp.blogspot.com/-rYRPguEjEl8/UrSWUC_jEOI/AAAAAAAANm4/qVle4zdVfsQ/s1600/Alexa+NYC.jpg" imageanchor="1"></a>

<p>
<br />
<br />You don&#8217;t always have to stick to the same colour scheme 
<br />
<br />
<br />
<br />

我似乎无法使正则表达式正常工作。

1 个答案:

答案 0 :(得分:0)

试试这段代码:

<?PHP
$input ="<br/><br/><br/><br/>Hello";
highlight_string($input);
$output = preg_replace('/(<br\s*\/?>\s*){3,}/', '<br/><br/>', $input);
highlight_string($output);
?>