将字符串修剪到指定参数的第二个实例的末尾


Trim string to the end of the second instance of a specified argument

我正试图将一个字符串修剪到second段落的末尾,因此本质上是</p> 第二个实例的末尾

我已经有一些代码可以将其修剪为500个字符,精确到空格。如果不使用</p>作为参数,并使用可变长度(段落可能很长),我怎么能做这样的事情呢。

我还需要添加一个检查,看看整个帖子内容是否低于300个字符,在这种情况下,我可以输出整个

这是我的代码,很相似,但不确定如何调整。你会怎么做?

if (strlen($content) > 300){
    $content_trimmed = substr($content, 0, strpos($content, ' ', 500));
}

此函数将返回前两段:

<?php
$content = "<p>Paragraph One</p><p>Paragraph Two</p><p>Paragraph Three</p>";
function trimArticle($content) {
    if (strlen($content) > 300) {
        $paragraphs = explode('</p>', $content);
        return $paragraphs[0].'</p>'.$paragraphs[1].'</p>';
    } else {
        return $content;
    }
}
echo trimArticle($content);
?>

有这样的结果:

<p>Paragraph One</p><p>Paragraph Two</p>

另一种方法是检查长度,然后使用爆炸来抓取零件。然后添加缺失的结束段落标记,该标记爆炸抓取并连接前两个数组元素。

if (strlen($content) > 300){
$content = explode("</p>",$content) ;
$content_trimmed = $content[0]."</p>".$content[1]."</p>";
} else {
            $content_trimmed = $content;
       }
echo $content_trimmed;