[英]php preg_match find url
我可以獲得完整的頁面資源。 像這樣:
&url240=http://cs518313v4.vk.me/u187298368/videos/c733ac6e5c.240.mp4&url360=http://cs518313v4.vk.me/u187298368/videos/c733ac6e5c.360.mp4&jpg=http://cs518313v4.vk.me/u187298368/video/l_292f9ac5.jpg&
如何僅獲取網址240鏈接http://cs518313v4.vk.me/u187298368/videos/c733ac6e5c.240.mp4和網址360鏈接http://cs518313v4.vk.me/u187298368/videos/c733ac6e5c.360.mp4
一種可能的方法是僅使用parse_str函數來解析字符串:
$arr = [];
parse_str($url, $arr);
echo $arr['url240'];
echo $arr['url360'];
關鍵是,PHP開發人員已經解決了此任務,並且對解決方案進行了測試。 相反,發明自己的解決方案幾乎沒有意義。
使用preg_match:
$string = '&url240=http://cs518313v4.vk.me/u187298368/videos/c733ac6e5c.240.mp4&url360=http://cs518313v4.vk.me/u187298368/videos/c733ac6e5c.360.mp4&jpg=http://cs518313v4.vk.me/u187298368/video/l_292f9ac5.jpg&';
preg_match("/&url240=(.*?)&/", $string, $A);
preg_match("/&url360=(.*?)&/", $string, $B);
$urla = $A[1]; // url 240
$urlb = $B[1]; // url 360
雖然不確定這是否是最好的方法,但它是否有效。
如果這是您的用例,請嘗試:
$search="url240";
preg_match("/$search=([^&]*)&/",$page,$matches);
$url240=$matches[1];
但這是期待的
從您的來源看來,這些網址似乎由&符分隔,就好像它們是URL查詢參數一樣。 也許像(&| \\ s)之類的東西可以捕捉到最后一個URL,且后面沒有“&”符號。 這完全取決於您所期望的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.