2012-02-13 52 views
0

在下面的URL中,我試圖將「scid =」和「pid =」之後出現的所有字符串解析爲2個不同的變量。與pid和scid相關的兩個數字每次都沒有固定的數字位數(它們會發生變化)。我以下面的方式處理問題:找到「pid =」的位置,並從該位置之後解析出字符串,直到下一個「&」。我該怎麼做呢?如何解析在PHP中定義的字符串?

http://oldnavy.gap.com/browse/product.do?cid=78425&vid=1&pid=113855&scid=113855012

+0

你會發現在$ _GET變量。 – CBusBus 2012-02-13 03:42:07

回答

0

如果該URL用於訪問當前頁面,請參閱先前有關$ _GET的註釋。

<?php 
$pid=$_GET['pid']; 
$scid=$_GET['scid']; 
?> 

如果以其他方式訪問,作爲一個字符串,這裏的一些代碼我已經使用前拉出兩段文字:

<?php 
//assumes that the URL is the value of $string. 
list($temp,$pid)=split('pid=',$string); 
list($pid,$temp)=split('&',$pid); 

list($temp,$scid)=split('scid=',$string); 
list($scid,$temp)=split('&',$scid); //allows for other name/value pairs to follow. 

?> 
+0

@deceze比我有更好的答案。在我回答之前,我讀得不夠近。我的第二個代碼塊適用於其他不是URL或查詢字符串的情況。 – TecBrat 2012-02-13 03:55:56