Приветствую
Сразу отмечу — в PHP не силен. Пытаюсь заменить значения переменной на нужные, но толком ничего не получается, то одно, то другое.
Что я делал:
// это наши данные
$content = '
<p>Первая строка</p>
<p>Вторая строка</p>
ВИДЕО:https://www.youtube.com/watch?v=dlkfghn9odnfvbde&t=644s
<p>Третья строка</p>
<p>Четвертая строка</p>
ВИДЕО:https://www.youtube.com/watch?v=bnviufedyfgbvpo9&t=644s
<p>Пятая строка</p>
';
// ищум подстроку / строку
$find = '/ВИДЕО:.*/';
// получаем массив с найденными элементами
preg_match_all($find, $content, $videos);
// перебираем элементы массива и ищем совпадения > меняем
foreach ($videos[0] as $line){
// делим строку по разделителю
$video_url = explode("watch?v=", $line);
// формируем нужный вид (для замены строки)
$video_content = '<div>ID видео: ' . $video_url[1] . '</div>';
// меняем найденное совпадение на нужноен
$content = preg_replace($line, $video_content, $content);
}
echo $content;
В итоге значение переменной $content должно по задумке преобразоваться в такое:
$content = '
<p>Первая строка</p>
<p>Вторая строка</p>
<div>ID видео: dlkfghn9odnfvbde&t=644s</div>
<p>Третья строка</p>
<p>Четвертая строка</p>
<div>ID видео: bnviufedyfgbvpo9&t=644s</div>
<p>Пятая строка</p>
';
Но, как видимо, что-то делаю не так.
Помогите пожалуйста разобраться — что не так и как нужно правильно переписать, чтобы заработало.