/i", $content, $thumbUrl); $img_src = $thumbUrl[1][0]">
当前位置:Gxlcms > PHP教程 > Typecho截取文章第一张图片报错Notice:Undefinedoffset:0

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

时间:2021-07-01 10:21:17 帮助过:14人阅读

函数代码

  1. <code>function img_postthumb($content) {
  2. preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $content, $thumbUrl);
  3. $img_src = $thumbUrl[1][0];
  4. $img_counter = count($thumbUrl[0]);
  5. switch ($img_counter > 0) {
  6. case $img_counter = 1:
  7. echo $img_src;
  8. break;
  9. default:
  10. echo "noimage.jpg";
  11. };
  12. }
  13. </img.*?src\=\"(.*?)\"[^></code>

调用代码

  1. <code><!--?php echo img_postthumb($this--->content); ?>
  2. </code>

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

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

回复内容:

函数代码

  1. <code>function img_postthumb($content) {
  2. preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $content, $thumbUrl);
  3. $img_src = $thumbUrl[1][0];
  4. $img_counter = count($thumbUrl[0]);
  5. switch ($img_counter > 0) {
  6. case $img_counter = 1:
  7. echo $img_src;
  8. break;
  9. default:
  10. echo "noimage.jpg";
  11. };
  12. }
  13. </img.*?src\=\"(.*?)\"[^></code>

调用代码

  1. <code><!--?php echo img_postthumb($this--->content); ?>
  2. </code>

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

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

改成这样试试?

  1. <code>function thumbnail($content) {
  2. $pattern = '/\<img.*?src\=\"(.*?)\"[^>]*>/i';
  3. if (preg_match_all($pattern, $content, $thumbUrl)) {
  4. $imgSrc = $thumbUrl[1][0];
  5. echo $imgSrc;
  6. } else {
  7. echo 'noimage.jpg';
  8. }
  9. }
  10. </img.*?src\=\"(.*?)\"[^></code>

谢谢,已经可以了。

人气教程排行