我想在标题标记
中获取img标记示例:
[caption id="attachment_5433" align="aligncenter" width="413"]
<a href="abc.jpg"><img class=" wp-image-5433" title="This is a title" src="abc.jpg" alt="This is alt" width="413" height="551"></a>This is a desc
[/caption]
结果:
<img class=" wp-image-5433" title="This is a title" src="abc.jpg" alt="This is alt" width="413" height="551">
PHP正则表达式怎么做?
答案 0 :(得分:0)
preg_match_all('/\[caption.*?\].*?(\<img[^>]*?).*?\[\/caption\]/', $stringWhereToSearchImg, $matches);
匹配将有img标记。
顺便说一句,你没有结束img,你应该用/&gt;
结束它答案 1 :(得分:0)
<?php
$string = '[caption id="attachment_5433" align="aligncenter" width="413"]
<a href="abc.jpg"><img class=" wp-image-5433" title="This is a title" src="abc.jpg" alt="This is alt" width="413" height="551"></a>This is a desc
[/caption]';
$result = preg_match_all("/\[caption.*?].*?(<img.*?\/?>).*?\[\/caption]/s", $string, $matches);
print_r($matches);
?>
<强>输出强>
Array
(
[0] : Array
(
[0] : '[caption id="attachment_5433" align="aligncenter" width="413"]
<a href="abc.jpg"><img class=" wp-image-5433" title="This is a title" src="abc.jpg" alt="This is alt" width="413" height="551"></a>This is a desc
[/caption]'
)
[1] : Array
(
[0] : '<img class=" wp-image-5433" title="This is a title" src="abc.jpg" alt="This is alt" width="413" height="551">'
)
)
更新,使用替换回调
<?php
$string = '[caption id="attachment_5433" align="aligncenter" width="413"]
<a href="abc.jpg"><img class=" wp-image-5433" title="This is a title" src="abc.jpg" alt="This is alt" width="413" height="551"></a>This is a desc
[/caption]';
echo preg_replace_callback('/\[caption.*?].*?(<img.*?\/?>).*?\[\/caption]/s', function($matches) {
return $matches[1];
}, $string);
?>