尝试将YouTube网址回显到PHP中的iframe

时间:2017-03-07 20:48:20

标签: php html variables iframe youtube

我正在尝试创建一个简单的页面,显示我在一周内每天(星期一,星期二等)添加到顶部变量中的某个视频。但是,如果我将YouTube网址硬编码到iFrame中,这样可行。但是如果我传入一个变量,它就不会。

iFrame不会在'src'属性中显示变量。

<?php
$monday = "https://www.youtube.com/watch?v=rnPkmozi7Zc";
$tuesday = "https://www.youtube.com/watch?v=rnPkmozi7Zc";
$wednesday = "https://www.youtube.com/watch?v=rnPkmozi7Zc";
$thursday = "https://www.youtube.com/watch?v=rnPkmozi7Zc";
$friday = "https://www.youtube.com/watch?v=rnPkmozi7Zc";
$saturday = "https://www.youtube.com/watch?v=rnPkmozi7Zc";
$sunday  = "https://www.youtube.com/watch?v=rnPkmozi7Zc";

$dayofweek = date("w");

switch ($dayofweek) {
    case 1:
        $videoUrl = $monday;
        break;
    case 2:
        $videoUrl = $tuesday;
        break;
    case 3:
        $videoUrl = $wednesday;
        break;
    case 4:
        $videoUrl = $thursday;
        break;
    case 5:
        $videoUrl = $friday;
        break;
    case 6:
        $videoUrl = $saturday;
        break;
    case 0:
        $videoUrl = $sunday;
        break;
}
?>
<div class="embed-responsive embed-responsive-16by9">
    <iframe class="embed-responsive-item" src="<?php echo $monday; ?>"></iframe>
</div>

3 个答案:

答案 0 :(得分:2)

您必须嵌入链接,如下所示:

https://www.youtube.com/embed/{video_id}

您可以在youtube的部分分享

中找到此链接

答案 1 :(得分:0)

<?php
    $links = array(
        '0' => 'https://www.youtube.com/embed/rnPkmozi7Zc', //Sunday
        '1' => 'https://www.youtube.com/embed/rnPkmozi7Zc', //Monday
        '2' => 'https://www.youtube.com/embed/rnPkmozi7Zc', //Tuesday
        '3' => 'https://www.youtube.com/embed/rnPkmozi7Zc', //Wednesday
        '4' => 'https://www.youtube.com/embed/rnPkmozi7Zc', //Thursday
        '5' => 'https://www.youtube.com/embed/rnPkmozi7Zc', //Friday
        '6' => 'https://www.youtube.com/embed/rnPkmozi7Zc', //Saturday
    );

    $numeric_day = date("w");

    $url_to_load = $links[$numeric_day];
?>

<div class="embed-responsive embed-responsive-16by9">
    <iframe class="embed-responsive-item" src="<?php echo $url_to_load; ?>"></iframe>
</div>

我认为这有点优雅,因为它避免了switch语句并使用通过PHP关联数组实现的哈希表。

答案 2 :(得分:0)

像我一样为我工作:

<?php
$monday = "rnPkmozi7Zc";
$tuesday = "rnPkmozi7Zc";
$wednesday = "rnPkmozi7Zc";
$thursday = "rnPkmozi7Zc";
$friday = "rnPkmozi7Zc";
$saturday = "rnPkmozi7Zc";
$sunday  = "rnPkmozi7Zc";

$dayofweek = date("w");

switch ($dayofweek) {
    case 1:
        $videoUrl = $monday;
        break;
    case 2:
        $videoUrl = $tuesday;
        break;
    case 3:
        $videoUrl = $wednesday;
        break;
    case 4:
        $videoUrl = $thursday;
        break;
    case 5:
        $videoUrl = $friday;
        break;
    case 6:
        $videoUrl = $saturday;
        break;
    case 0:
        $videoUrl = $sunday;
        break;
}

echo '
    <div class="embed-responsive embed-responsive-16by9">
        <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/'.$videoUrl.'" frameborder="0"></iframe>
    </div>
';

?>