@@ -267,7 +267,7 @@ public function getArticle($target)
267
267
$ tempTarget = explode ('. ' , $ target )[0 ];
268
268
$ article = $ this ->getArticleBySlug ($ tempTarget );
269
269
if (isset ($ article ['isblank ' ])) {
270
- $ article = $ article = $ this ->getArticleByCid ($ tempTarget );
270
+ $ article = $ this ->getArticleByCid ($ tempTarget );
271
271
}
272
272
return $ article ;
273
273
}
@@ -366,8 +366,9 @@ public function MakeArticleList($linkType = 'amp', $page = 0, $pageSize = 0)
366
366
367
367
private function GetPostImg ()
368
368
{
369
+
369
370
$ text = $ this ->article ['text ' ];
370
-
371
+
371
372
$ pattern = '/\<img.*?src\=\"(.*?)\"[^>]*>/i ' ;
372
373
$ patternMD = '/\!\[.*?\]\((http(s)?:\/\/.*?(jpg|png))/i ' ;
373
374
$ patternMDfoot = '/\[.*?\]:\s*(http(s)?:\/\/.*?(jpg|png))/i ' ;
@@ -379,8 +380,21 @@ private function GetPostImg()
379
380
preg_match ("/(?:\()(.*)(?:\))/i " , $ img [0 ], $ result );
380
381
$ img_url = $ img [1 ];
381
382
} else {
382
- $ img_url = $ this ->defaultPIC ;
383
+ //正文里没找到图片就去附件里找
384
+ $ attsrc =Typecho_Widget::widget ('Widget_Contents_Attachment_Related ' , 'parentId= ' . $ this ->article ['cid ' ])->stack ;
385
+ $ att ='' ;
386
+ foreach ($ attsrc as $ attimg ){
387
+ $ att =$ att .$ attimg ['text ' ];
388
+ }
389
+ if (preg_match ($ pattern , $ att , $ img )) {//附件里只需要匹配img标签的内容
390
+ preg_match ("/(?:\()(.*)(?:\))/i " , $ img [0 ], $ result );
391
+ $ img_url = $ img [1 ];
392
+ }else {//附件里再找不到就调LOGO了
393
+ $ img_url = $ this ->defaultPIC ;
394
+ }
383
395
}
396
+
397
+
384
398
try {
385
399
list ($ width , $ height , $ type , $ attr ) = @getimagesize ($ img_url );
386
400
$ imgData =array (
0 commit comments