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

kch*_*son 3 php codeigniter urlencode

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

码:

<a href="/search/degree/<?=rawurlencode($row->degree)?>" class="element_link"><?=$row->degree?></a>
Run Code Online (Sandbox Code Playgroud)

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

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

<?php echo rawurlencode('http://kchason.com'); ?>
Run Code Online (Sandbox Code Playgroud)

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

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

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

doi*_*tin 5

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

编码

<?php echo urlencode(base64_encode('http://kchason.com')); ?>
Run Code Online (Sandbox Code Playgroud)

解码

<?php echo urldecode(base64_decode('http://kchason.com')); ?>
Run Code Online (Sandbox Code Playgroud)

您可以使用base64_encode摆脱任何URL部分,将导致问题笨的,然后使用urlencode编码任何=base64_encode增加了其输出端.