2011-02-07 14 views
0

私はこの文字列を持っている:PHPの文字列操作

http://localhost/migo2/photo.php?id=68&a_id=83&p_id=349&type=1#p_id=302 

を、私は(1明らかである)型の値を取得したいと思い

私は

parse_str("http://localhost/migo2/photo.php?id=68&a_id=83&p_id=349&type=1#p_id=302"); 

と取得を行います

echo $type; -> 1#p_id=302 

#と私自身の右側のすべてを削除した私は自分が望むものを得ると思う。これはそれを行う悪い方法ですか?

+0

文字列を '?'で爆発させ、次に '#'を使って文字列を解読するのが最も簡単な解決法です。 –

+0

PHPには、クエリ文字列をURLから取得し、クエリ文字列を解析するための組み込み関数があります。 –

答えて

2

PHPはparse_urlにURLをコンポーネントに解析し、クエリ文字列でのみparse_strを呼び出します。

$str = "http://localhost/migo2/photo.php?id=68&a_id=83&p_id=349&type=1#p_id=302"; 
$parts = parse_url($str); 
parse_str($parts['query'], $arr); 
echo $arr['type']; 
0

parse-url関数を使用し、PHP_URL_QUERYを指定します。それは最初にクエリ部分を与えるでしょう。

これは基本的にあなたの質問であるPHP Parse Url btwを検索するときの主な結果です。 ;)