我期待提取位於「規範ID」,只是在「&型」之前下列URL的一部分的期限屆滿後,該期限後的值:使用正則表達式找到一個網址
「http://subdom.someurl.com/cat/motorparts?id=12345 &規範ID = 245038.100006592 &類型= 10 &頁= 0」
的數字是變量,以便它們可以在長度波動。
我是一個新手,當談到正則表達式,但任何幫助讓我這樣做會很好。
我期待提取位於「規範ID」,只是在「&型」之前下列URL的一部分的期限屆滿後,該期限後的值:使用正則表達式找到一個網址
「http://subdom.someurl.com/cat/motorparts?id=12345 &規範ID = 245038.100006592 &類型= 10 &頁= 0」
的數字是變量,以便它們可以在長度波動。
我是一個新手,當談到正則表達式,但任何幫助讓我這樣做會很好。
我不是PHP大,但它應該是這個樣子:
preg_match('/specid=\d+\.(\d+)/i', $input, $matches);
$matches
是陣列中存儲的所有比賽。你所追求的價值將在第二個元素中。有關更多信息,請參閱preg_match。
我不是100%確定的,但從我可以推斷出的,確保你在模式字符串周圍使用單引號,否則你將不得不避開反斜槓,這使得正則表達式更難以理解是。
@Quick Joe Smith的正則表達式答案會很好。
你也可以在PHP中使用URL成分的分析中檢索數據,然後使用簡單的 字符串操作
<?php
$tokens = array();
parse_str("http://subdom.someurl.com/cat/motorparts?id=12345&specid=245038.100006592&type=10&page=0",$tokens);
var_dump($tokens['specid']);
?>
95%那裏的路。 OP只需要'specid'參數的一部分,所以至少需要一個子串。否則,這是一個比正則表達式更強大的解決方案。 – 2012-03-21 09:53:01
太棒了!它像一個魅力。謝謝你的幫助喬。下面是我如何使用它:if(preg_match('/ specid = \ d + \。((\ d +)/ i',$ input,$ matches)) {$ theNumber = $ matches [1];} – 2012-03-21 09:59:07