为什么不在iframe中使用preg_replace?

时间:2014-12-07 12:18:09

标签: php iframe preg-replace

我想嵌入youtube链接,但我也希望嵌入来自['url']的链接。
我没有得到任何错误的php messange。 我的PHP代码是:

$search = '#<iframe(.*?)(?:href="https?://)?(?:www\.)?(?:youtu\.be/|youtube\.com(?:/embed/|/v/|/watch?.*?v=))([\w\-]{10,12}).*<\/iframe>#x';
 $replace = '<iframe width="560" height="315" src="http://www.youtube.com/embed/$2" frameborder="0" allowfullscreen></iframe>';
 $text = preg_replace($search, $replace, $text);

iframe:

echo ' <iframe class="video" allowfullscreen style="overflow-x: hidden; overflow-y: hidden;" width="658px" height="569"  frameborder="0" src="'.$row['url'].$text.'"></iframe>' ;

我想现在解决这个问题,如果你给出一个youtube链接输出如下:

<iframe class="video" allowfullscreen="" style="overflow-x: hidden; overflow-y: hidden;" width="658px" height="569" frameborder="0" src="https://www.youtube.com/watch?v=dh-0jH4Rb7Y"></iframe>

1 个答案:

答案 0 :(得分:0)

为什么不使用:

$fullUrl = //put here anything you want, be it result from MySQL or $_POST
echo ' <iframe class="video" allowfullscreen style="overflow-x: hidden; overflow-y: hidden;" width="658px" height="569"  frameborder="0" src="'.$fullUrl.'"></iframe>' ;

并决定$fullUrl应该提前回应什么?要使preg_replace工作,您无法回显,您需要先将其分配给变量。为什么你想要preg_replace你自己分配变量的东西?浪费记忆和时间。