>백엔드 개발 >PHP 튜토리얼 >Typecho 截取文章第一张图片报错 Notice: Undefined offset: 0

Typecho 截取文章第一张图片报错 Notice: Undefined offset: 0

WBOY
WBOY원래의
2016-06-06 20:42:091219검색

函数代码

<code>function img_postthumb($content) {   
   preg_match_all("/\<img . alt="Typecho 截取文章第一张图片报错 Notice: Undefined offset: 0" >]*>/i", $content, $thumbUrl);
   $img_src = $thumbUrl[1][0];
   $img_counter = count($thumbUrl[0]);
  
   switch ($img_counter > 0) {   
       case $img_counter = 1:   
           echo $img_src; 
           break;   
       default:   
           echo "noimage.jpg";
   };   
}
</img.></code>

调用代码

<code><?php echo img_postthumb($this->content); ?>  
</code>

有图片的文章截取后没有错误,没有图片的文章会报错:Notice: Undefined offset: 0

请问如何改进才没有报错。

回复内容:

函数代码

<code>function img_postthumb($content) {   
   preg_match_all("/\<img . alt="Typecho 截取文章第一张图片报错 Notice: Undefined offset: 0" >]*>/i", $content, $thumbUrl);
   $img_src = $thumbUrl[1][0];
   $img_counter = count($thumbUrl[0]);
  
   switch ($img_counter > 0) {   
       case $img_counter = 1:   
           echo $img_src; 
           break;   
       default:   
           echo "noimage.jpg";
   };   
}
</img.></code>

调用代码

<code><?php echo img_postthumb($this->content); ?>  
</code>

有图片的文章截取后没有错误,没有图片的文章会报错:Notice: Undefined offset: 0

请问如何改进才没有报错。

改成这样试试?

<code>function thumbnail($content) {
    $pattern = '/\<img . alt="Typecho 截取文章第一张图片报错 Notice: Undefined offset: 0" >]*>/i';

    if (preg_match_all($pattern, $content, $thumbUrl)) {
        $imgSrc = $thumbUrl[1][0];
        echo $imgSrc;
    } else {
        echo 'noimage.jpg';
    }
}
</img.></code>

谢谢,已经可以了。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.