【问题标题】:Sending date( in d/m/Y format) in url in codeigniter在codeigniter的url中发送日期(d/m/Y格式)
【发布时间】:2013-09-13 02:10:54
【问题描述】:

我目前正在开发一个内置于 codeigniter 的项目。我正在尝试在 url 中以d/m/Y 发送日期,例如www.mydomain.com/guwahati-project-starting-12/12/2013。但是如果我想提取控制器名称

$news_title = $this->uri->segment(1);

上面的$news_title 只会提取到guwahati-project-starting-12。除了用- 替换/ 之外,有什么方法可以提取完整的字符串?

【问题讨论】:

标签: php codeigniter url controller get


【解决方案1】:

如果您的控制器名称必须包含日期(我假设您的完整控制器名称是 guwahati-project-starting-12/12/2013),那么我的建议是切换到使用 dd-mm-yyyy ,因为您的日期格式会导致 codeigniters uri helper 出现问题。

如果您必须使用dd/mm/yyyy,那么您可以使用$this->uri->uri_string() 来获取完整的uri,然后自己处理分段。

【讨论】:

    【解决方案2】:

    使用 PHP 的 urlencode 或 rawurlencode 函数可能会起作用。此外,在位于 application/config 文件夹中的 config.php 文件中,您可能需要按如下方式对其进行编辑。

    $config['permitted_uri_chars'] = 'a-z 0-9~%.:_,()&\/-';
    

    确保在其中添加“/”。

    【讨论】:

      【解决方案3】:

      为什么不使用 urlencode ? http://php.net/manual/en/function.urlencode.php

      然后当你想加载日期时只需 urldecode http://php.net/manual/ru/function.urldecode.php

      【讨论】:

        【解决方案4】:

        url_title() 函数在 URL Helper 中可用...只需加载它并通过此函数运行它。

        此函数将过滤字符串中的字符并允许配置文件中定义的字符列表中的字符(您很可能不应该编辑)

        ---对不起,我的回答不完整---

        很少有选项,1 是,为什么不使用多个细分...日期之间的“/”使其成为不同的细分。 www.mydomain.com/guwahati-project-starting-12/12/2013

        作为 guwahati-project-starting-12 = 第 1 段, 12 段 2 和 2013 段 3。

        这会失败,因为段 1 是类,而 2 是控制器...

        尝试制作 www.mydomain.com/class/function/guwahati-project/12/12/2013

        现在你有第 3 段你的标题,4 段你的日子,5 段你的月和 6 段你的年

        【讨论】:

          【解决方案5】:

          另一种选择,我认为这是一种矫枉过正但安全且网址友好的选项 正在使用加密和解密它。 HASHIDS。像 youtube 和 bitly 一样。

          这样的链接 www.mydomain.com/guwahati-project-starting-12/12/2013

          可以做到 www.mydomain.com/guwahati-project-starting/hjDm

          您可以轻松处理参数。只是不要忘记将日期转换为int

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-05-25
            • 2014-04-27
            • 2018-11-16
            • 1970-01-01
            • 2023-03-08
            • 2015-10-26
            • 2013-02-10
            • 2013-09-09
            相关资源
            最近更新 更多