繁体   English   中英

rawurlencode()和urlencode()在CodeIgniter中不起作用

[英]rawurlencode() and urlencode() not working in CodeIgniter

我正在尝试将字符串编码为安全URL以用于通用目的,并且在使用CodeIgniter时rawurlencode()和urlencode()都不起作用。 我已经使用过它们,并且使用直接的PHP可以很好地工作,但无论出于何种原因,它都不起作用。 我无法找到任何其他有此问题的人,因此没有解决方案。

码:

<a href="/search/degree/<?=rawurlencode($row->degree)?>" class="element_link"><?=$row->degree?></a>

它只是作为纯文本传递,空格未转义和一切。

我期待着我能够得到的结果:

<?php echo rawurlencode('http://kchason.com'); ?>

优点:http%3A%2F%2Fkchason.com

但是: <a href="/search/degree/<?=rawurlencode($row->degree)?>" class="element_link"><?=$row->degree?></a>

给我举个例子:'localhost / http://kchason.com',这显然是不安全的,不起作用。

我知道这是一个老问题。 但我正在处理同样的问题。 我所做的是:

编码

<?php echo urlencode(base64_encode('http://kchason.com')); ?>

解码

<?php echo urldecode(base64_decode('http://kchason.com')); ?>

您使用base64_encode来删除任何会导致Codeigniter问题的URL部分,然后使用urlencode编码any = base64_encode添加到其输出的末尾。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM