我有一个脚本,可以根据带字幕的短代码捕获帖子中的所有图像,并将图像和字幕输出到轮播
这就是看起来如何短码:
[caption id="attachment_52788" align="alignnone" width="435" caption="my caption"]<a href="#"><img src="image.jpg" alt="" title="my title" width="435" height="363" class="size-full wp-image-52788" /></a>[/caption]
这是提取字幕和iamges的PHP代码
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$output2 = preg_match_all('/caption="(.*?)"/', $post->post_content, $matches2);
$gallery = $matches[1];
$captions = $matches2[1];
$count_of_captions = 0;
foreach ($captions as $capt) {
$js .= 'captions[' . $ii . '] = "' . $capt . '";' . "\n";
$ii++;
if ($capt != "") {
$count_of_captions++;
}
}
所有这些都适用于旧的wordpress版本。现在wordpress输出这个方法中的标题:
[caption id="attachment_52725" align="alignnone" width="440"]<img class="size-full wp-image-52725" src="image.jpg" alt="" height="347" /> my caption[/caption]
现在字幕是在图片标记之后。我现在该如何提取字幕?
答案 0 :(得分:0)
我找到了答案
这部分
position
替换为
$output2 = preg_match_all('/caption="(.*?)"/', $post->post_content, $matches2);