我正在通过短代码将图像添加到 WP 网站:
[figure src="" url"" caption=""]
其中
src
是图像源,url
是指向更大图像的链接(如果需要),caption
是标题。
我正在尝试根据此代码从上面获取
src
:
$pattern = '/<img[^>]*src=\"?(?<src>[^\"]*)\"?[^>]*>/im';
preg_match( $pattern, $html, $matches );
if($matches['src']) {
return $matches['src'];
}
但是我想弄清楚如何获得
[figure]
匹配。
/\[figure(( src="(?<src>[^"]+)")?|( url="(?<url>[^"]+)")?|( caption="(?<caption>[^"]+)")?)*\]/i
[图url =“http://example.com/large.gif”标题=“我的标题”src =“http://example.com/figure.gif”]
Array
(
[0] => [figure url="http://example.com/large.gif" caption="my caption" src="http://example.com/figure.gif"]
[1] =>
[2] => src="http://example.com/figure.gif"
[src] => http://example.com/figure.gif
[3] => http://example.com/figure.gif
[4] => url="http://example.com/large.gif"
[url] => http://example.com/large.gif
[5] => http://example.com/large.gif
[6] => caption="my caption"
[caption] => my caption
[7] => my caption
)
试试这个
$foo = [figure src="" url"" caption=""];
preg_match( '/src="([^"]*)"/i', $foo, $array ) ;
$finalStr = $array[0];
$explode = explode("=", $finalStr);
echo $explode[1];