2012-02-13 18 views
0

以下のURLでは、 "scid ="と "pid ="の後に表示されるすべての文字列を2つの異なる変数に解析しようとしています。 pidとscidに関連付けられた2つの数字には、毎回固定桁数がありません(変更されます)。私は次のように問題に近づいています: "pid ="の場所を見つけて、次の "&"までの文字列をこの場所の後に解析します。これはどうすればいいですか?PHPで定義された文字列を解析するには?

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

+0

あなたは$ _GET変数に見つけることができますが。 – CBusBus

答えて

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は私よりも良い答えを持っていました。私は答えが出る前に十分に近く読んでいなかった。 2番目のコードブロックは、URLやクエリ文字列ではない他のケースでも機能します。 – TecBrat

関連する問題