首页 > php教程 > php手册 > 正文

php获取当前网址url并替换参数或网址的方法

php中文网
发布: 2016-06-06 20:34:10
原创
1965人浏览过

今天在项目中用到的两个函数,自己写了下,备用,需要的朋友也可以直接使用了,推荐第一个函数为获取,后面为相关的处理参数。

一是PHP获取当前页面的网址:
代码如下:
//获得当前的脚本网址
function GetCurUrl()
{
if(!empty($_SERVER["REQUEST_URI"]))
{
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}
else
{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"]))
{
$nowurl = $scriptName;
}
else
{
$nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
}
return $nowurl;
}

另一个是PHP替换网址中query部分的某变量的值比如 ,我们要设$url中的key=321;
其实有几种情况:
$url='www.sina.com/a.php?key=330′;
或$url='www.sina.com/a.php;
或$url='www.sina.com/a.php?cat=2′;
等等。虽然情况很多,但PHP处理起来非常简单,如下:
代码如下:
/* 将URL中的某参数设为某值*/ //【这一段就挺好啊】
function url_set_value($url,$key,$value)
{
$a=explode('?',$url);
$url_f=$a[0];
$query=$a[1];
parse_str($query,$arr);
$arr[$key]=$value;
return $url_f.'?'.http_build_query($arr);
}

不过我的替换是这样写的。。当然也很烂 。。
代码如下:
/**
*使用例程:可用于分页类或页面中的替换等
$url = "add_jd.php?pid=4&tb=gm_jd&page=1";
echo( "原始的URL:" . $url );
echo( '
' );
echo( "字符串参数:" . url::replace( $url , "pid=10,page=2") );
echo( '
' );
echo( "数组型参数:" . url::replace( $url , array('pid'=>10,'page'=>5)) );
//echo( urlReplace( $url , array('pid'=>10,'page'=>5)) );
*/
/**
* url replace
* @param string $url 需要替换的URL字符串,一般为aaa.php?abc=def,也可以带上路径,象http://xxx.com/abc/def.php?aa=bb
* @param mixed $options 需要替换的变量,可以是字符串或数组,如果是字符串,格式为"aa=bb,cc=dd",有多个,用","隔开
* @return string $url 替换后的URL
*/
class url
{
static function replace ( $url , $options)
{
$options = self::optInit( $options );
$Query = parse_url( $url , PHP_URL_QUERY );
if($Query){
parse_str( $Query , $GET );
if ( $GET ){
//foreach ( $GET as $_k => $_v ){
// //if( array_key_exists( $_k , $options)){
// $GET[$_k] = $options[$_k];
// /
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号