我正在编写一个脚本,用于检索帖子中的第一个图片链接
$content = [center]Hello World, this is my house: [img]myhouse.png[/img] blah blah blah blah [/center] This is another house [img]anotherhouse.png[/img] , blah blah blah
我想返回“myhouse.png”并将其保存到变量中
img
也应该不区分大小写,这意味着它可以在[img]text-here[/img]
或[IMG]text-here[/IMG]
答案 0 :(得分:1)
这将返回第一张图片:
$content = '[center]Hello World, this is my house: [img]myhouse.png[/img] blah blah blah blah [/center] This is another house [img]anotherhouse.png[/img] , blah blah blah';
preg_match('#\[img\]\s*(?P<png>.*?)\s*\[/img\]#i', $content, $m);
echo $m['png']; // myhouse.png
答案 1 :(得分:1)
这是一个正则表达式:
$content = '[center]Hello World, this is my house: [img]myhouse.png[/img] blah blah blah blah [/center] This is another house [img]anotherhouse.png[/img] , blah blah blah';
$pattern = '/\[img\](.*)\[\/img\]/U'; // <-- the U means ungreedy
preg_match_all($pattern, $content, $matches);
var_dump($matches[1]);
说明:
正则表达式匹配一对[img] ... [/img]
标记之间的所有内容。为了确保它与第一个[img]
和最后一个[/ img]标记之间的所有文本都不匹配,我使用了 ungreedy 修饰符。
了解有关PHP正则表达式语法的more。