$youtubeurl = "((http|https)\:\/\/(www|it|co\.uk|ie|br|pl|jp|fr|es|nl|de)\.youtube\.(com|it|co\.uk|ie|br|pl|jp|fr|es|nl|de)([a-zA-Z0-9\-\.\/\?_=&;]*))";
$content = preg_replace($youtubeurl, embedCode($youtubeurl), $content);
我有一个匹配任何youtube网址的模式。 如果匹配此模式,我想调用函数embedCode()并传递匹配的字符串。
我该怎么办?现在我显然是在传递正则表达式代码,这当然是错误的。我需要传递匹配的字符串。
谢谢
答案 0 :(得分:0)
$youtube_url_pattern = "#((http|https)\:\/\/(www|it|co\.uk|ie|br|pl|jp|fr|es|nl|de)\.youtube\.(com|it|co\.uk|ie|br|pl|jp|fr|es|nl|de)([a-zA-Z0-9\-\.\/\?_=&;]*))#";
if(preg_match($youtube_url_pattern, $content_containing_url, $content)){
embedCore($contet[index]);
}
您只需找到匹配网址的索引,在print_r($content);
内尝试if
,看看匹配模式的索引是什么。
答案 1 :(得分:0)
您正在尝试这样做:
if ( preg_match( '/' . $youtubeurl . '/', $content, $match ) )
{
embedCode( $match );
}
答案 2 :(得分:0)