Как удалить лишний текст из строки в PHP? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть строка ниже

string(47) "src="https://www.youtube.com/embed/marR48481a""

Я хочу получить URL-адрес YouTube только из указанной выше строки, т.е. https://www.youtube.com/embed/marR48481a only!

Я пробовал ниже, но это не работает

$string = preg_replace('/\s+/', '', $yturl);
$string = str_replace("",'src="', $string);


var_dump($string);

но при этом по-прежнему печатается следующая строка!

string (47) "src =" https://www.youtube.com/embed/mBqpaAKtnXE""

Ответы [ 2 ]

1 голос
/ 09 мая 2019

У вас есть иголка и стог сена назад. Попробуйте это:

$string = str_replace('src="', '', $string);

https://www.php.net/manual/en/function.str-replace.php

0 голосов
/ 09 мая 2019

Если ваша начальная строка - iframe, лучше использовать подходящий инструмент для извлечения информации в HTML, а не использовать кучу регулярных выражений:

$html = '<iframe id="ytplayer" type="text/html" width="640" height="360" src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com" frameborder="0"/>' ;

$doc = new DOMDocument('1.0', 'UTF-8');
@$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
$url = $xpath->query('//iframe/@src')->item(0)->textContent;

echo $url ; // http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...