在自定义标签之间找到字符串并对其进行处理

|| 在我的新项目中,成员可以使用我的YouTube API,它将生成一个如下所示的标签,供他们在所需的任何文本区域中使用它:
<ymedia>http://www.youtube-nocookie.com/v/qQG0XfU-bFs</ymedia>
我希望我的PHP配置文件页面采用ѭ1之间的字符串,并在下面使用ѭ2below生成从ymedia标记收集的字符串的类似代码:
<?php
$u_agent = $_SERVER[\'\'HTTP_USER_AGENT\'\'];
if(preg_match(\'\'/Opera/i\'\',$u_agent)){
<object width=\"320\" height=\"240\" data=\"\".$ymstring.\"?fs=1&amp;hl=en_US&amp;rel=0\"><param name=\"movie\" value=\"\".$ymstring.\"?fs=1&amp;hl=en_US&amp;rel=0\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"wmode\" value=\"transparent\" /><param name=\"bgColor\" value=\"#ffffff\" /><param name=\"flashvars\" value=\"vu=\".$ymstring.\"?fs=1&amp;hl=en_US&amp;rel=0\" /></object>
} else {
<object width=\"320\" height=\"240\"><param name=\"movie\" value=\"\".$ymstring.\"?fs=1&amp;hl=en_US&amp;rel=0\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"\".$ymstring.\"?fs=1&amp;hl=en_US&amp;rel=0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"320\" height=\"240\"></embed></object>
}
?>
基本上,我想在$ string中找到所有的ymedia标签,并用上面针对YouTube或其他浏览器的youtube编码替换它们。
已邀请:
这应该工作:
preg_match(\"/<ymedia>(.*?)<\\/ymedia>/\", $Input, $Matches);
然后,您的结果将是
$Matches[1]
,您可能会通过
$ymstring
为了简单起见,您要使用preg_replace_callback:
$html = preg_replace_callback(\'#<ymedia>(http://.*?)</ymedia>#\',
         \"ymedia_cb\", $html);

function ymedia_cb($matches) {
    $url = $matches[1];

    return \"<object src=$url>\";
}
显然,您将使用if / else构造返回适当且完整的对象标签。

要回复问题请先登录注册