Php iframe для amp-YouTube - PullRequest
       8

Php iframe для amp-YouTube

0 голосов
/ 26 сентября 2018

Я хочу изменить 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.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

это работает, но только для первого видео. У меня есть 3 видео в $ контенте, но он получает только id первого видео ... Вы можете зациклить его ... чтобы вставить все видео через iframe в $ контент..

ниже приведен пример

$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 в amp.чтобы перевести iframe в amp-youtube в том же месте.и img в amp-img.

0 голосов
/ 27 сентября 2018

Вы можете достичь этим:

<?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>';
?>
...