沃梦达 / 编程问答 / php问题 / 正文

用于提取标记[img]和[/img]之间内容的正则表达式

Regular Expression to Extract the content between the tags [img] and [/img](用于提取标记[img]和[/img]之间内容的正则表达式)

本文介绍了用于提取标记[img]和[/img]之间内容的正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试设计一个PHP regexp来提取文本中第一个[img]...[/img]标记的内容。也可以是img或img。

非常感谢您的帮助。

使用我糟糕的regexp,我带来了以下内容,但不起作用:

/[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

我正在使用网页向regexp发送文本: 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];
}

上面的正则表达式在某些情况下不起作用,就像我之前展示的那样,这就是为什么我正在尝试不同的方法。

推荐答案

这应该会奏效

/[img](.*?)[/img]/i

[]字符应使用进行转义,因为它们由正则表达式解析器使用。

这篇关于用于提取标记[img]和[/img]之间内容的正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:用于提取标记[img]和[/img]之间内容的正则表达式

基础教程推荐