phpurlencode
① 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 进行编码