PHP Codeigniter-函数中传递的urlencode会删除url中的.html

问题描述 投票:0回答:1

该值在URl中是正确的:/optimization/page/%2Flove-your-body-club.html

但是当我在函数的给定变量中收集URL时,.html将被删除。

function($url){
$urlDecoded = urldecode($url);

我已经尝试回显编码和解码的值,但是仍然缺少.html。

由于我在codeigniter中将页面后缀.html作为默认值使用,因此似乎将其读取为传递变量的一部分。

对此有任何解决方法?

php codeigniter codeigniter-3 urlencode urldecode
1个回答
0
投票

假设您已将url_suffix中的.html配置设置为application/config/config.php,您可以修改函数以始终将url_suffix附加到输入字符串。

尝试一下:

function($url) {
    $urlDecoded = urldecode($url . $this->config->item('url_suffix'));
}

我可能会创建一个辅助函数,您可以在应用程序中的任何地方调用它,也许将其称为myurldecode($url)

因此在application/helpers/my_helper.php中添加

<?php

function myurldecode($url) {
    $CI =& get_instance();
    return urldecode($url . $CI->config->item('url_suffix'))
}

并且在application/config/autoload.php中添加我们的新帮助文件,以便可以在任何地方使用它:

$autoload['helper'] = array('my_helper');
© www.soinside.com 2019 - 2024. All rights reserved.