我正在修改 Wordpress 主题,我想在主页上的故事中显示有限数量的字符,并包含指向故事其余部分的链接。这应该自动完成,无需作者指定中断发生的点。但是,我想允许使用 html 标签,但我不想在标签关闭之前拆分故事。
我正在使用的代码包含strip_tags
确保字符中断不会发生在 html 标记中间的函数。但是,内容作者希望能够包含一些标签,并且随着时间的推移,之前的网站管理员修改了主题以允许一些标签,例如<p>
,<i>
等。然而,现在我正在网站上工作,内容作者真的希望能够包含链接和图像等内容。我尝试注释掉该strip_tags
命令,但现在明白了为什么包含它,因为如果文本位于标签中间或标签未正确关闭,则在任意点拆分文本可能会出现问题。
我试图弄清楚php是否有确保标签关闭的规定,所以我可以在拆分文本之前做到这一点。或者也许是其他一些选择。我正在使用的代码片段如下所示。
$content = get_the_content('', $stripteaser, $more_file);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
//Commenting out following line causes problems
//$content = strip_tags($content, '<p><br><b><i><strong><em>');
if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) {
$content = substr($content, 0, $espacio);
$content = $content;
echo "<p>";
echo $content;
echo "...";
echo " <a rel='nofollow' href='";
the_permalink();
echo "'>".$more_link_text."</a>";
echo "</p>";
}