3句后只加一次<span>,然后每3句加一次<p></p>

Add <span> after 3 sentences only once and then add <p></p> after every 3 sentences

我有一些很长的简单文本,我只需要在前 5 个句子后插入 <span id='colorme'></span> 标签一次,之后我需要在每 5 个句子后插入 <p...></p> 标签,直到结束文本。但如果全文少于 5 句,则脚本必须不执行任何操作。

例如:

没有虚伪的谦虚,我们声明我们拥有最好的员工。这不是某种闹剧、小说或某人的恶作剧。不不不——这是最真诚的真理。我们所有的员工都非常热情、面带微笑、彬彬有礼、整洁且工作能力强。正因如此,我们的桑拿房已成功运营多年,为所有新老顾客带来愉悦。来吧,我们很高兴见到你。关于你,Alina。

我需要:

没有虚伪的谦虚,我们声明我们拥有最好的员工。这不是某种闹剧、小说或某人的恶作剧。不不不——这是最真诚的真理。 <span id='colorme'></span> 我们所有的员工都非常热情、面带微笑、彬彬有礼、整洁且工作能力强。正因如此,我们的桑拿房已成功运营多年,为所有新老顾客带来愉悦。来吧,我们很高兴见到你。 <p style='color:red'>www.example.com</p>关于你,Alina。

这只是一个例子。所以有这样的东西,它不起作用属性,只是在每 3 个句子后添加 <span> 但我只需要一次,我什至不知道我必须做什么

<?php
$long_text = 'long long text';
$str = $long_text;
$arr = explode(".", $str);
$new_str = "";
$j = 1;
foreach($arr as $arr_el) {
    $new_str .= $arr_el.".";
    if($j % 3 == 0) {
        $new_str .= "<span id=colorme></span>";
    };
    $j++;
}

echo $new_str;?>

更改如下:-

<?php
    $long_text = 'long long text';
    $str = $long_text;
    $arr = explode(".", $str);
    $new_str = "";
    $j = 1;
    foreach($arr as $arr_el) {
        $new_str .= $arr_el.".";
        if($j == 3) { // add span after first 3 sentences
            $new_str .= "<span id=colorme></span>";
        }else{
           if($j %3 == 0) { // now after each 3rd sentence add paragraph
              $new_str .= "<p class=colorme></p>";
           }
        }
        $j++;
    }
    echo $new_str;
?>

注意:- 由于 <p></p> 将重复多次,所以我将 id 更改为 class,因为多个相同的 id 是不正确的。