I want to get all urls from mixed string. My string:
#EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10, http://media.com/S1/HLS_VOD/26c2_1561/2500/segm000000.ts?key=49bfee85b05d117a2906368428094e94 #EXTINF:10, http://media.com/S1/HLS_VOD/26c2_1561/2500/segm000001.ts?key=49bfee85b05d117a2906368428094e94 #EXTINF:10, http://media.com/S1/HLS_VOD/26c2_1561/2500/segm000002.ts?key=49bfee85b05d117a2906368428094e94 #EXTINF:10, http://media.com/S1/HLS_VOD/26c2_1561/2500/segm000003.ts?key=49bfee85b05d117a2906368428094e94 #EXTINF:10, http://media.com/S1/HLS_VOD/26c2_1561/2500/segm000004.ts?key=49bfee85b05d117a2906368428094e94 #EXTINF:10, http://media.com/S1/HLS_VOD/26c2_1561/2500/segm000005.ts?key=49bfee85b05d117a2906368428094e94 #EXTINF:10, And my php code:
function getUrls($string) { $regex = '/https?\:\/\/[^\" ]+/'; preg_match_all($regex, $string, $matches); //return (array_reverse($matches[0])); return ($matches[0]); }
$urls = getUrls($videourlget); print_r($urls); But it not return urls. I want to return only URL-s from string. Any idea?
hrefbut your regex depends on it.~https?://\S+~. See demo.