欢迎各位兄弟 发布技术文章
这里的技术是共享的
drupal的node_teaser()函数,经常截出半个<IMG标签,导致显示出来的node的摘要总是会有幅图显示出来,但是又缺少SRC,很难看。
今天花了半小时研究了那块代码,给了个快速解决方案。。。
$img_begin = stristr($teaser, '<IMG');
while ($temp = stristr(substr($img_begin, 1, strlen($img_begin)), '<IMG')) {
$img_begin = $temp;
}
if ($img_begin) {
//find >
if (!strstr($img_begin, '>')) {
$pos = strpos($body, '>', $max_rpos);
if ($pos > 0) {
$teaser = substr($body, 0, $pos + 1);
$max_rpos = $pos + 1;
}
}
}
标红的地方,是个小插曲,原以为怎么也不会出错的地方,特意考虑了不会出现循环,最后还是出现了死循环。。。必须在第二次搜索时跳过前一次匹配的字串,否则就杯具了