Answer the question
In order to leave comments, you need to log in
How to correctly replace multiple values of a variable in PHP?
Greetings
I’ll note right away that I’m not strong in PHP. I'm trying to replace the values of the variable with the necessary ones, but nothing really works, then one thing, then another.
What I did:
// это наши данные
$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 = '
<p>Первая строка</p>
<p>Вторая строка</p>
<div>ID видео: dlkfghn9odnfvbde&t=644s</div>
<p>Третья строка</p>
<p>Четвертая строка</p>
<div>ID видео: bnviufedyfgbvpo9&t=644s</div>
<p>Пятая строка</p>
';
Answer the question
In order to leave comments, you need to log in
$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>
';
$content = str_replace('ВИДЕО:https://www.youtube.com/watch?v=', 'ID видео: ', $content);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question