如何从PHP的字符串中删除多余的文本?

时间:2019-05-09 17:22:24

标签: php regex string

我在字符串下面

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

我只想从上述字符串(即仅https://www.youtube.com/embed/marR48481a)中获取youtube URL!

我尝试了以下操作,但不起作用

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


var_dump($string);

但这仍然会打印以下字符串!

  

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

2 个答案:

答案 0 :(得分:1)

您的针和干草堆向后。试试这个:

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

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

答案 1 :(得分:0)

如果您的初始字符串是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