如何将bb样式语法与正则表达式匹配?

时间:2011-08-28 15:25:05

标签: php regex preg-match

这是我的正则表达式:

/^\[y\](.*?)\[\/y\]/

这是我的主题:

  

youtube在这里[y] 2GJSVlIGmQI [/ y]

preg_match()与我的主题不匹配。

还有更好的解决方案来捕获[y] [/y]中的代码吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您需要在开头删除^,如下所示:

/\[y\](.*?)\[\/y\]/

^所做的只是匹配表达式,只有它位于字符串的开头。删除它意味着表达式将匹配字符串中任何位置的模式。

答案 1 :(得分:1)

您必须从正则表达式中删除^个字符。 ^ char匹配字符串的开头。

$str = 'youtube is here [y]2GJSVlIGmQI[/y]';

preg_match('/\[y\](.*?)\[\/y\]/', $str, $arr);

// 2GJSVlIGmQI
echo $arr[1];

答案 2 :(得分:0)

使用此:/\[y\](.*?)\[\/y\]/