我的正则表达式:
/^'[y'](.*?)'['/y']/
这是我的主题:
youtube is here [y]2GJSVlIGmQI[/y]
但是preg_match()
与我的受试者的任何东西都不匹配。
还有更好的解决方案来捕获[y] [/y]
's内部的代码吗?
谢谢!
你必须从你的正则表达式中删除^
字符。^
char匹配字符串的开头
$str = 'youtube is here [y]2GJSVlIGmQI[/y]';
preg_match('/'[y'](.*?)'['/y']/', $str, $arr);
// 2GJSVlIGmQI
echo $arr[1];
您需要删除开头的^
,如下所示:
/'[y'](.*?)'['/y']/
^
所做的是匹配表达式,如果它在字符串的开头。删除它意味着表达式将匹配字符串中任何地方的模式。
使用/'[y'](.*?)'['/y']/