如何操纵标签的出现和<hr />

时间:2016-10-21 16:16:32

标签: php

当标签出现在页面中时,我需要操纵标签的出现。

条件是:

  • 如果标签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;
}

0 个答案:

没有答案