错误:
array(1) { [0]=> string(0) "" }
指着一行:
echo "url:".$match[1][0];
php代码:
$str="........<source src='http://somewebsite.com/hls/playlist.m3u8?token=23452345463456243dsfasdasdfasdfdsfsdfa==' type='video/mp4' ></source>.......";
if(preg_match_all('/\<source src=(.*?)\'/',$str,$match)) {
var_dump($match[1]);
}
echo "url:".$match[1][0];
答案 0 :(得分:2)
你有两个空格,而不是一个空格,你也应该将'
放在src
s =
之后,这样你就不会有这个空格。
$str="........<source src='http://somewebsite.com/hls/playlist.m3u8?token=23452345463456243dsfasdasdfasdfdsfsdfa==' type='video/mp4' ></source>.......";
if(preg_match_all('/\<source\h+src=\'(.*?)\'/',$str,$match)) {
var_dump($match[1]);
}
echo "url:".$match[1][0];;
输出:
array(1) {
[0]=>
string(87) "http://somewebsite.com/hls/playlist.m3u8?token=23452345463456243dsfasdasdfasdfdsfsdfa=="
}
url:http://somewebsite.com/hls/playlist.m3u8?token=23452345463456243dsfasdasdfasdfdsfsdfa==
你可能最好还是使用解析器。例如,如果其他属性在src
之前,则无效。