更改 iframe 中的 youtube shortened url 值

Change youtube shortened url value in iframe

我正在使用高级自定义归档 wordpress 插件创建一个名为 youtube 的元标记 URL...

当有人将视频 url 设置为这样的较短格式时 https://youtu.be/H-30B0cqh88

然后我用来显示视频的 iframe 不起作用,因为 iframe 不适用于 url

的较短版本

它需要真正的 url 作为来源。我的 iframe 代码如下

">

我怎样才能实现这个..让我告诉你我想如何实现这个..

我不是 php 方面的专家所以请给我完整的工作代码..

<?php
the_field("listing_video_1") == $got_url_from_user_input

if $got_url_from_user_input == https://youtu.be/H-30B0cqh88 in this format

$actual_URL= replace above url to https://youtube.com/embed/H-30B0cqh88


?>

请问我该如何实现。

提前致谢

这是使用 preg_replace 完成您想要完成的任务的简单方法:

<?php

// SET OUR DEFAULT URL
$got_url_from_user_input = 'https://youtu.be/H-30B0cqh88';
print "\nSTARTING URL: ".$got_url_from_user_input;

// DO THE REPLACE AND PRINT OUT THE FINAL RESULT
$actual_URL = preg_replace('~https://youtu\.be/([-A-Z0-9]+)~i', 'https://youtube.com/embed/', $got_url_from_user_input);
print "\nFINAL URL: ".$actual_URL;

这里没有太多魔法,所以让我 运行 快速了解一下:

  • https://youtu\.be/ - 准确查找此模式。我们用反斜杠对点进行转义,以便它找到文字点而不是任何字符。
  • ([-A-Z0-9]+) - 这只是您的基本字符 class 匹配任何破折号、字母或数字,至少出现一次。我们把它放在括号中,以便我们将它保存在 中,我们可以将它插入我们最终的 url.

上面的代码在你可以看一看的工作演示中:

http://ideone.com/zECA2e

您可以使用 php str_replace() 函数,如下代码所示:

<?php

    $actual_url =  str_replace('https://youtu.be/', 'https://www.youtube.com/embed/', $got_url_from_user_input);
    echo $actual_url;
?>

str_replace() 将用 embade url.

替换 youtube short url