我想将iframe更改为amp-youtube。我做到了,但是有问题。我使用youtube视频配置,但amp-youtube只需要视频简码。因此,我正在第2行中解决此问题。但是第2行却没有工作
$this->html = str_replace("//www.youtube.com/embed/","",$this->html);
$this->html = str_replace("?rel=0&showinfo=0","",$this->html); // This is not working
$this->html = preg_replace('/<iframe\s+.*?\s+src=(".*?").*?<\/iframe>/', '<amp-youtube data-videoid=$1 layout="responsive" width="480" height="270"></amp-youtube>', $this->html);
第2行str_replace无法正常工作。我该怎么做呢?示例preg_replace吗?
正确的代码:
<amp-youtube
data-videoid="mGENRKrdoGY"
layout="responsive"
width="480" height="270"></amp-youtube>
我的代码正在这样打印。因此视频无法打开
<amp-youtube
data-videoid="mGENRKrdoGY?rel=0&showinfo=0"
layout="responsive"
width="480" height="270"></amp-youtube>
还有另一个问题。如果iframe链接不是youtube,我想将iframe更改为amp-iframe。
答案 0 :(得分:0)
您可以通过以下方式实现:
<?php
$iframeCode = '<iframe width="100%" height="450" src="https://www.youtube.com/embed/mGENRKrdoGY?rel=0&showinfo=0" frameborder="0" allowfullscreen></iframe>';
preg_match('/embed\/([\w+\-+]+)[\"\?]/', $iframeCode,$match);
echo '<amp-youtube
data-videoid="'.$match[1].'"
layout="responsive"
width="480" height="270"></amp-youtube>';
?>
答案 1 :(得分:0)
它可以正常工作,但仅适用于第一个视频。我在$ content中有3个视频,但它只获得第一个视频的ID。
波纹管就是示例
$content_description = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an <iframe src="https://www.youtube.com/embed/V6LP8m4GpVc" allowfullscreen="" frameborder="0"></iframe>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an <div class="embed-container"><iframe src="https://www.youtube.com/embed/xfLQcsP0L18" allowfullscreen="" frameborder="0"></iframe></div>';
preg_match('/embed\/([\w+\-+]+)[\"\?]/', $content_description,$match);
$yt = '<amp-youtube
data-videoid="'.$match[1].'"
layout="responsive"
width="480" height="270"></amp-youtube>';
echo $yt;
结果
<amp-youtube
data-videoid="V6LP8m4GpVc"
layout="responsive"
width="480" height="270"></amp-youtube>
我也想回显所有内容。.我正在将现有的php网站转换为放大器。在同一地点将iframe转换为amp-youtube。以及img到amp-img。