2011-02-07 42 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 

所以我在想如果我有af去除右侧#和#本身的所有东西,我想我得到了我想要的东西。这是做这件事的坏方法吗?

+0

用`?`分解字符串,然后用`#`分解是最快的解决方案。 – 2011-02-07 07:14:53

回答

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时的主要结果,这基本上是您的问题。 ;)