如何将bb样式语法与正则表达式匹配?
问题描述:
这是我的正则表达式:如何将bb样式语法与正则表达式匹配?
/^\[y\](.*?)\[\/y\]/
这是我的主题:
YouTube的是这里[Y] 2GJSVlIGmQI [/ Y]
但preg_match()
不匹配任何从我的主题。
而且还有更好的解决方案来捕获[y] [/y]
里面的代码吗?
谢谢!
答
您必须从您的正则表达式中删除^
字符。 ^
char匹配字符串的开头。
$str = 'youtube is here [y]2GJSVlIGmQI[/y]';
preg_match('/\[y\](.*?)\[\/y\]/', $str, $arr);
// 2GJSVlIGmQI
echo $arr[1];
+0
非常感谢您回答我的问题:)非常有帮助! – fenerlitk
答
使用此:/\[y\](.*?)\[\/y\]/
您必须从正则表达式中删除'^'字符。 – Buddy
您应该使用与'/'不同的分隔符,以便您不必转义它,并使用'/ x'修饰符,以便您有机会阅读该死的东西:'preg_match('@ \ [y \](。*?)\ [/ y \] @x',......'。 – tchrist