⑴ php 正則表達式如何替換URL參數
用正則是比較笨的辦法,但也給你提供一下了:
function getpage(){
//你可以把獲取當前page的代碼放在函數里
return 123;
}
$str = 'index.php?main_page=index&cPath=55&pagesize=48';
$ptn = '/&pagesize=(\d+)/';
$pagenum = getpage();
$rep = '&pagesize='.$pagenum;
echo $str; // 輸出:index.php?main_page=index&cPath=55&pagesize=48
preg_replace($ptn,$rep,$str);
echo $str; // 輸出:index.php?main_page=index&cPath=55&pagesize=123
另外多說一下,這種情況可以使用
http_build_query()
這個函數。
具體使用方法:
$u['main_page']=$_GET['main_page'];
$u['cPath']=$_GET['cPath'];
$u['pagesize']=getpage();
$url = 'index.php?'.http_build_query($u);
echo $url;
這個函數很好用,比你自己去匹配好。
⑵ UINavigationControllerphp獲取當前網址url並替換參數或網址的方法
獲取當前頁面的網址在PHP中可以使用如下函數
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;
}
在替換網址中query部分的某變數的值,可以使用如下函數
php
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);
}
對於替換網址的函數,可以這樣實現:
php
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];
}
}
$GET = array_merge($GET, $options);
}
return str_replace($Query, http_build_query($GET), $url);
} elseif (!$Query && $options) {
return $url . "?" . http_build_query($options);
}
return $url;
}
static private function optInit($options){
if(is_string($options)){
$optlists = Power::Normalize($options);
foreach($optlists as $val){
list($tmpKey, $tmpVal) = Power::Normalize($val, "=");
$opts[$tmpKey] = $tmpVal;
}
} else {
$opts = $options;
}
return $opts;
}
}
在PHP中可以使用$_SERVER這個數組來獲取伺服器變數,例如:
php
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
echo $url_this;
上面的代碼將顯示當前頁面的URL地址。
此外,還有其他許多伺服器變數,如:
php
$_SERVER['SERVER_NAME'] - 當前運行腳本所在伺服器主機的名稱。
$_SERVER['SERVER_SOFTWARE'] - 伺服器標識的字串。
$_SERVER['SERVER_PROTOCOL'] - 請求頁面時通信協議的名稱和版本。
$_SERVER['REQUEST_METHOD'] - 訪問頁面時的請求方法。
$_SERVER['QUERY_STRING'] - 查詢(query)的字元串。
$_SERVER['DOCUMENT_ROOT'] - 當前運行腳本所在的文檔根目錄。
$_SERVER['HTTP_ACCEPT'] - 當前請求的 Accept: 頭部的內容。
這些變數在PHP中都是自動全局變數,可以被所有腳本訪問。使用這些變數可以幫助我們獲取有關伺服器和請求的信息。
⑶ php獲取url參數
1、在當前網頁echo出變數$_SERVER['HTTP_HOST']即可獲取域名或主機地址。
⑷ PHP 正則表達式如何添加URL參數 ,並把&替換成amp;
preg_replace('/(&|\\?)pagesize=[^&]+/', '', $_SERVER['REQUEST_URI']) str_replace 或replace 或preg_replace 用正則是比較笨的辦法
⑸ php獲取url參數以及參數值
用一個轉換函數就可以了,uppercase,這樣,大小寫都通吃了。
uppercase($_Request["action"])
⑹ php獲取url參數
1、在當前網頁echo出變數$_SERVER['HTTP_HOST']即可獲取域名或主機地址。
⑺ PHP如何將數組轉URL參數
PHP如何將數組轉URL參數
1、使用PHP內置函數「http_build_query()」將字元串轉為URL參數;
使用示例:
<php$data = array( 'foo' => 'bar' 'baz' => 'boom' 'cow' => 'milk' 'php' => 'hypertext processor');echo http_build_query($data) . "\n"echo http_build_query($data, '' '&');>
輸出結果:
foo=bar&baz=boom&cow=milk&php=hypertext+processorfoo=bar&baz=boom&cow=milk&php=hypertext+processor
2、根據URL參數規律使用循環將數組進行拼接,鍵和值使用「=」進行拼接數組單元使用「&」進行拼接即可。
簡單示例:
function array_to_url_prarm($array){ $prarms = []; foreach ($array as $key => $val) { $prarms[] = $key . '=' . str_replace(' ' '+' $val); } return implode('&' $prarms);}
推薦教程:《PHP教程》
⑻ php怎麼通過郵件的方式發送一封URL帶參數的地址的郵件
思想:
通過str_replace來替換掉參數的位置。
//設$content為郵件內容
$content=<<<EOF
<palign="center"><ahref='https://www.m78.co/get.php?code=$code'>Clickmetogetyoghurt!</a><br>
</p>
EOF;
//設$str為被替換的字元串
//設$code為替換字元串,現在要替換掉$content中的"$code"為真正的變數$code。
$str='$code';
$code=$_GET['code'];
$content=str_replace($str,$code,$content);
//最終就可以實現發送一封URL帶參數郵件的效果了
總結:
此種情況的確比較特殊,但我們平常還是應該多補習一下PHP的函數,在實戰中發揮。
關於我:
MarikoChiba,星雲茶館的站長,歡迎各位的光臨。