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

下面这段代码中用到了,但是不知道是什么作用,在表单数据的接收时感觉没用也没错啊if(isset($_POST['keyWord'])&&trim($_POST['keyW... 下面这段代码中用到了,但是不知道是什么作用,在表单数据的接收时感觉没用也没错啊
if (isset($_POST['keyWord']) && trim($_POST['keyWord']!=''))
{
$keyWord = $_POST['keyWord'];
}
else
{
$keyWord = urldecode(str_replace('@', '%', $_GET['keyWord']));
}
$arrayKeyWord = explode(' ', $keyWord);
$smarty->assign('key', str_replace('%', '@', urlencode($keyWord)));
展开
 我来答
匿名用户
2014-11-06
展开全部
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
?>
更多追问追答
追问
你能给我说一下我写的那段代码的意思吗
如果是通过表单提交的数据时都经过urlencode()和urldecode()这个过程吗
追答
演示代码贴出来了,你仔细看下!!
莘赡05V
2015-06-05 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。

urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8c61f20
2014-11-06 · TA获得超过133个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:100万
展开全部
url 加密 与 解密 。 其实就是对url中字符串进行编码。 比如你的字符串是这样“ DSA啊撒旦撒答撒旦撒DSADSADSA ” ,encode之后就是这样的 “ DSA%e5%95%8a%e6%92%92%e6%97%a6%e6%92%92%e7%ad%94%e6%92%92%e6%97%a6%e6%92%92DSADSADSA ” 。
更多追问追答
追问
我就是想通过表单方式提交数据,这其中会用到这个加密和解密吗,还有就是你能给我解释下代码实现了什么功能
追答
不明白为什么你的keyword 到底是要post 还是 get 过来、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式