这是我的正则表达式:
/^\[y\](.*?)\[\/y\]/
这是我的主题:
youtube在这里[y] 2GJSVlIGmQI [/ y]
但preg_match()
与我的主题不匹配。
还有更好的解决方案来捕获[y] [/y]
中的代码吗?
谢谢!
答案 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\]/