我正在使用以下功能自动将 WordPress 帖子中的内容输出到 3 列。但是,当将带有图像的最少内容添加到帖子中时,该函数会在 img 标签 HTML 中间将内容拆分为另一列,从而破坏图像和内容。
知道如何解决这个问题吗?
function content_split($text, $separator = '<hr/>', $start = false ) {
if ( $start === false) {
$string = '';
$start = ceil(strlen($text) / 3);
$string.= substr($text,0,$start);
$string.= $separator;
$string.= substr($text,$start,$start);
$string.= $separator;
$string.= substr($text,($start*2),$start);
return $string;
}
$lastSpace = false;
$split = substr($text, 0, $start - 1);
// if the text is split at a good breaking point already.
if (in_array(substr($text, $start - 1, 1), array(' ', '.', '!', '?'))) {
$split .= substr($text, $start, 1);
// Calculate when we should start the split
$trueStart = strlen($split);
// find a good point to break the text.
} else {
$split = substr($split, 0, $start - strlen($separator));
$lastSpace = strrpos($split, ' ');
if ($lastSpace !== false) {
$split = substr($split, 0, $lastSpace);
}
if (in_array(substr($split, -1, 1), array(','))) {
$split = substr($split, 0, -1);
}
// Calculate when we should start the split
$trueStart = strlen($split);
}
//now we know when to split the text
return substr_replace($text, $separator, $trueStart, 0);
}