我即将建立一个自动将&pni=something
置于URL后面的系统。如果网址只是 http://t.co/something.php 并且带有“?pni = ....”就很容易,但是用户也可以拥有 http://t.co/something.php?myown=paramater 然后系统应添加&
而不是?
如何将pni
参数放在URL后面并且每次都有效?我没试过就试过了。
<?php
function nice($in){
$out = parse_url($in);
return $out['scheme'] . "://" . $out['host'] . $out['path'] . "?" . $out['query'];
}
$urls = array(
"http://t.co/something.php?w=23&",
"http://t.co/something.php?w=23&dfdf=",
"http://t.co/something.php?",
"http://t.co/something.php",
"http://t.co/something",
"http://t.co/something.php?w=23&dfdf=34&hvem",
);
foreach ( $urls as $url):
echo print_r(nice($url)) . "<br/>";
endforeach;
?>
答案 0 :(得分:5)
function nice($in) {
$out = parse_url($in);
if ($out['query'] != "") {
$out['query'] = "pni=something&".$out['query'];
}
else {
$out['query'] = "pni=something";
}
return $out['scheme'] . "://" . $out['host'] . $out['path'] . "?" . $out['query'];
}
答案 1 :(得分:0)
您可以使用
专门访问查询字符串$_SERVER['QUERY_STRING']
如果为空,您可以使用
$url .= '?arg=val';
如果查询字符串是!空
$url .= '&arg=val';
答案 2 :(得分:0)
检查网址中是否有"?"
,并相应地将pni=something
联接到其中。
function nice($url){
if(strpos($url,"?")!==false){
return $url."&pni=something";
}else{
return $url."?pni=something";
}
}