我正在使用以下正则表达式模式来获取值[URL=http://www.google.com]Google[/URL]
$pattern = '/\[\s*URL(.+?)?\s*\](.+?)\[\s*\/URL\s*\]/i';
它工作正常,但前提是只有一个[URL]...[/URL]
. 如果有一个字符串有多个[URL]....[/URL]
它给出错误的值
例如对于以下字符串
$string = '[URL=http://www.google.com]Google[/URL] another website [URL]www.youtube.com[/URL]';
它将第一个匹配项输出为]http://www.freshupnow.com[/URL
并保留其余的 URL 标记。我已经尝试了很多在我的正则表达式模式中找到问题但失败了。有人知道吗?