ホームページ > バックエンド開発 > PHPチュートリアル > PHP での URL パラメータの取得に関する問題、必要なパラメータを素早く取得する方法

PHP での URL パラメータの取得に関する問題、必要なパラメータを素早く取得する方法

WBOY
リリース: 2016-06-13 12:24:25
オリジナル
862 人が閲覧しました

PHP URL パラメータ取得の問題、必要なパラメータを素早く取得する方法
http://www.abc.com/content/5176.asp?page=1&5176__2#p

現在の URL はこのリンクです
現在のページに 1 つのリンクを生成する必要があります
http://www.abc.com/content/5176.asp?page=1&author=10000

それを素早く行うにはどうすればよいですか? ?
私の方法は次のとおりです。

function ghref($param){<br />	$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; //获取url<br />	$query_str = parse_url($url, PHP_URL_QUERY); //获取url问号后的值,不包括#<br />	$query_str =explode("&",$query_str); //切割成数组<br />	$arr=array();<br />     foreach($query_str  as $v){   <br />        	if(preg_match("/=/",$v)){<br />        		$arr[] = $v;  //标准的键名=参数值,就留下<br />        	}<br />     }<br />     $str = implode("&",$arr); //变成url字符串<br />	parse_str($str,$myArray); //再次分成数组形式<br />	$myArray['page']=$param; //修改其中某个键名的值<br />       $myArray['author']=1000;<br />	return substr($url,0,strpos($url,"?"))."?".http_build_query($myArray); //完整拼接<br />}
ログイン後にコピー


少し面倒だと思いますが、簡単な方法を持っているマスターはいますか? ? ?

-----ソリューションのアイデア----------------------
あなたの ASP は、 PHP解析を使用しましたか?
http://www.abc.com/content/5176__2#p の場合
$_GET は次のような配列です array('page' => 1, '5176__2' => ; '')、#p は php
では使用されないため、 $_GET = array_diff($_GET, array('')); でそのような配列を取得できます array('page' => 1)
$ _GET['author'] = 1000;
return ""http://$_SERVER[HTTP_HOST]/$_SERVER[PHP_SELF]?" . http_build_query($_GET);

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート