尝试提出一个PHP regexp,它将提取文本中第一个[img] ... [/ img]标记的内容。也可以是img或IMG。
非常感谢任何帮助。
使用我糟糕的正则表达式,我来了以下,但没有用:
/[img](.+)[/img/]
以下是应该有效的文字示例: http://pt.wikipedia.org/wiki/Erich_von_D%C3%A4niken]Erich Von Daniken [/ url] [/ align] [align = center] [img] http://www.ceticismoaberto.com/wp-content /uploads/2012/04/erich_von_daniken_7.jpg[/img]
它应该只返回: http://www.ceticismoaberto.com/wp-content/uploads/2012/04/erich_von_daniken_7.jpg
我正在使用网页发送正则表达式: http://www.myregextester.com/index.php 我正在使用的Php代码是:
$message=$post["message"];
//try to locate the first image on the post text
if (preg_match("!http://[^?#]+\.(?:jpe?g|png|gif)!Ui", $message, $matches)) {
return $matches[0];
}
上面的正则表达式对某些情况不起作用,就像我之前展示的情况一样,这也是我尝试不同方法的原因。
答案 0 :(得分:0)
这应该可以解决问题
/\[img\](.*?)\[\/img\]/i
[]字符应该使用\来转义,因为它们由正则表达式解析器使用。
答案 1 :(得分:0)
您必须转义所有括号字符,也许您有回车符。试试这个:
\[img\](.|\n)*\[/img\]