Typecho主题photograph免费版修复Markdown格式图片获取失败的方法

看了一下photograph主题,感觉还可以。

支持从附件、内容、附件+内容获取图片作为”头图”,试用了一下,居然不支持匹配Markdwon的图片。嗷嗷借助着对正则的一知半解,改了一下,居然还挺顺利的成功了。

在主题目录下的functions.php

以下是原代码,只支持匹配HTML格式的图片

//获取文章内容图
function getPostHtmImg($obj) {
preg_match_all( "/<[img|IMG].*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/", $obj->content, $matches);
$atts = array();
if(isset($matches[1][0])) {
for($i = 0; $i < count($matches[1]); $i++) {
$atts[] = array('name' => $obj->title.' ['.($i + 1).']', 'url' => $matches[1][$i]);
}
}
return count($atts) ? $atts : NULL;
}

修改后,支持Markdown格式

//获取文章内容图
function getPostHtmImg($obj) {
preg_match_all( "/[<|!\[][img|IMG].*?[src=|\]][\'|\(|\"](.*?)[\'|\)|\"].*?[\/]?>/", $obj->content, $matches);
$atts = array();
if(isset($matches[1][0])) {
for($i = 0; $i < count($matches[1]); $i++) {
$atts[] = array('name' => $obj->title.' ['.($i + 1).']', 'url' => $matches[1][$i]);
}
}
return count($atts) ? $atts : NULL;
}