我正在尝试在html中创建博客条目的摘录。我不希望摘录包含任何图像,所以我包含了一个功能,可以将图像剥离出来,这是正常工作的。
我正在使用包装图像的fckeditor
。所以如果html是
<p><img src="/yada" /> Here is some sample text. </p>
该函数的输出将是
Here is some sample text.
但是......如果图像是p标签内的唯一内容,则该函数返回一个空字符串,这是正确的,但不合需要。
我试图创建一个递归函数,从空p标签的末尾开始传递内容,直到找到包含内容的p标签,但它只是不断返回一个空字符串。
function get_excerpt($content) {
$start = strpos($content, '<p');
if($start !== FALSE) {
$p_open = strpos($content, '>', $start) + 1;
$p_close = strpos($content, '</p>', $p_open);
$length = $p_close - $p_open;
$p_contents = substr($content, $p_open, $length);
$p_contents = removeImages($p_contents);
$contentLength = strlen($content);
$newContent = substr($content, $p_close);
if($p_contents == "")
{
get_excerpt($newContent);
}
else
{
return $p_contents;
}
}
else
{
return 'Excerpt not available';
}
}
function removeImages($string)
{
$newString = preg_replace("/<img[^>]+\>/i", "", $string);
return $newString;
}