Я заменяю все вхождения в строке на. И я делаю:
1) Я получаю video_id от URL-адреса YouTube.
preg_match('/embed\/([\w+\-+]+)[\"\?]/', $string,$video_id);
2) Я удаляю iframe с помощью amp-youtube, добавляя идентификатор видео URL.
$string = preg_replace( '/<iframe\s+.*?\s+src=(".*?").*?<\/iframe>/',
'<amp-youtube data-videoid="'.$video_id[1].'" width="480" height="270" layout="responsive"></amp-youtube>', (str_replace("https://www.youtube.com/embed/","", $string)));
Это прекрасно работает только для одного вхождения.
Но если у меня более одного iframe ... Хорошо, я могу сделать
preg_match_all('/embed\/([\w+\-+]+)[\"\?]/', $string,$video_id);
, чтобы получить все идентификаторы видео в строке .
Но как я могу oop добавить каждый идентификатор к каждому видео-видео amp-youtube в строке ??
Спасибо !!