【问题标题】:Iframe in PHP with string from SQLPHP中的iframe与来自SQL的字符串
【发布时间】:2017-04-12 20:01:24
【问题描述】:

我正在尝试将 YouTube 视频链接转换为 You Tube 嵌入链接。一个字符串将从 SQL 接收 YouTube 链接,另一个代码将转换为嵌入链接,转换后的链接将在 iframe 中使用。我不知道为什么它不起作用。

YouTube 转换器代码(我正在尝试使用其中任何一个:Link to Embed

function convertYoutube($string) {
    return preg_replace(
        "/\s*[a-zA-Z\/\/:\.]*youtu(be.com\/watch\?v=|.be\/)([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i",
        "<iframe src=\"//www.youtube.com/embed/$2\" allowfullscreen></iframe>",
        $string
    );
}

从 SQL 接收 YouTube 链接的字符串

$row["link"]

【问题讨论】:

    标签: php regex string youtube


    【解决方案1】:

    如果您执行此操作,您将看到嵌入的 youtube 视频。 $object 是嵌入的 youtube 网址。

    <?php 
    $url = "https://www.youtube.com/watch?v=RboEKl7GgU0";
    parse_str( parse_url( $url, PHP_URL_QUERY ), $v );
    $object = '<iframe width="560" height="315" src="https://www.youtube.com/embed/'.$v['v'].'" frameborder="0" allowfullscreen></iframe>';
    echo $object;
    ?>
    

    您显然可以只使用$row['link'] 而不是$url

    【讨论】:

    • @JoaoZanetti 我已经测试了这段代码,它的工作原理与上面的完全一样。它要么与您正在喂它的URL 有关,要么与其他东西有关。请提供更多关于如何url 看起来如果仍然不起作用的信息。
    • 我不知道你出了什么问题,我已经用那个链接和其他任何方法尝试过,我得到了很好的结果。
    • 在 chrome 中为白色,在 Vivaldi 中显示“不支持此插件。”
    • 我已经更新了我的代码,看看这是否更适合你。我也对此进行了测试,并且效果很好(看起来也好多了)。 @JoaoZanetti
    • @JoaoZanetti 请让我知道这是否解决了您的问题!
    猜你喜欢
    • 2017-12-05
    • 1970-01-01
    • 2018-07-16
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    相关资源
    最近更新 更多