php 怎樣判斷一段字元 有沒有經過 urlencode 處理

判斷字元串 執行urldecode 之前和之後是否一致
一致就是沒有經過urlencode 不一致就是經過urlencode的

② php中urldecode()和urlencode()起什麼作用啊

urlencode()編碼:對字元串中除了 -_. 之外的所有非字母數字字元都將被替換成百分號(%)後跟兩位十六進制數,空格則編碼為加號(+)。
urldecode()解碼:還原 URL 編碼字元串。
示例:
<?php
header("Content-Type:text/html; charset=utf-8");
//對參數值進行編碼
$parm=urlencode("演示php-mysql");

//拼接url
$url="decode.php?par=".$parm;
?>

<a href="<?php echo $url;?>">urlencode演示</a>

點擊連接後地址欄中漢字被編碼了:
http://localhost/decode.php?par=%E6%BC%94%E7%A4%BAphp-mysql
------------------------------------------------------------------------

//decode.php
<?php
//獲取參數值
$parValue=$_GET['par'];

//解碼
echo urldecode($parValue);
//運行結果:演示php-mysql
?>

③ 為什麼php中用了urlencode處理字元串後,瀏覽器自動又轉了回來

MP3 編碼是GBK的, 你的代碼裡面是UTF8的
編碼為GBK urlencode('腳步') = %BD%C5%B2%BD
編碼為UTF8 urlencode('腳步') = %E8%84%9A%E6%AD%A5
你得用iconv函數轉一下

④ php 編程問題:只對鏈接中的 中文 進行urlencode轉換,怎樣處理

用正則表達式匹配中文,在用urlencode替換中文:
function urlencode_ch($str){ //直接用這個函數就可以了
function callback($match){
return urlencode($match[0]);
}
return preg_replace_callback('/[^\0-\127]+/','callback',$str);
//正則表達式匹配非單位元組字元(含中文)
}

echo urlencode_ch('/2012/新聞/22.html');

⑤ php中form通過get傳中文字元自動用urlencode轉換

FORM 里使用get 方法,應該在你提交表單前用JS方法encodeURI先將輸入的值進行轉換。

⑥ 初學php,為什麼urlencode()沒作用呢

其實就算你不用 urlencode 瀏覽器也會幫你編碼,這是瀏覽器特性。

⑦ PHP如何對多維數組的鍵值對進行urlencode轉碼

你好,可以使用遞歸。

functionarray_urlencode($data){
$new_data=array();
foreach($dataas$key=>$val){
//這里我對鍵也進行了urlencode
$new_data[urlencode($key)]=is_array($val)?array_urlencode($val):urlencode($val);
}
return$new_data;
}

$array=array(
"中國"=>"北京",
"美國"=>"華盛頓",
"英國"=>"倫敦",
"city"=>"倫敦",
"多維"=>array("阿斯頓"=>"爾特人",array("豆腐乾豆腐","請問"))
);

var_mp(array_urlencode($array));

⑧ php 中urlencode的作用是什麼不用會怎麼樣

是因為URL規范中不支持中文和一些特殊符號作為參數與URL地址一起傳遞給WEB伺服器,如果不使用urlencode進行編碼後傳遞WEB伺服器將不能識別,現在的瀏覽器會對表單中的中文字元在後台直接自動進行編碼後傳遞

⑨ php urlencode 特殊字元

看一下手冊。
Note:
注意:小心與 HTML 實體相匹配的變數。像 &、& 和 £ 都將被瀏覽器解析,並使用實際實體替代所期待的變數名。這是明顯的混亂,W3C 已經告誡人們好幾年了。參考地址:» http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2。
PHP 通過 arg_separator.ini 指令,支持將參數分割符變成 W3C 所建議的分號。不幸的是大多數用戶代理並不發送分號分隔符格式的表單數據。較為簡單的解決辦法是使用 & 代替 & 作為分隔符。你不需要為此修改 PHP 的 arg_separator。讓它仍為 &,而僅使用 htmlentities() 或 htmlspecialchars() 對你的 URL 進行編碼。

⑩ php中的urlencode和rawurlencode的區別

比較明顯的區別是
urlencode 將空格轉為+
rawurlencode 將空格轉化為%20

看了下文檔
urlencode — 編碼 URL 字元串
rawurlencode — 按照 RFC 1738 對 URL 進行編碼