当标签出现在页面中时,我需要操纵标签的出现。
条件是:
如果标签br连续出现2次以上,则必须替换2个标签br
如果标签hr连续出现超过1次,则必须为1个标签替换此事件
这将显示它必须如何运作。 这只是一个例子。
<div>
<p>
Text 1
<br />
<br />
Text 2
<br />
<br />
<br />
Text 3
<hr />
<hr />
Text 4
<br />
<br />
<br />
<br />
Text 5
<hr />
Text 6
<hr />
<hr />
<hr />
</p>
</div>
它应该保持这种状态:
<div>
<p>
Text 1
<br />
<br />
Text 2
<br />
<br />
Text 3
<hr />
Text 4
<br />
<br />
Text 5
<hr />
Text 6
<hr />
</p>
</div>
我该怎么做?
我尝试了很多方法。之前,我已经使用str_replace函数为我创建了一个函数。
但之后,我认为preg_replace是最好的方法。 我的问题是,我不知道如何检测标签的出现次数。我的功能如下:
helper.php
function formatText($text){
$text = preg_replace("/(<br\s*\/?>\s*)+/", "<br /><br />", $text);
$text = preg_replace("/(<hr\s*\/?>\s*)+/", "<hr /><br />", $text);
return $text;
}