如何用“-”或“_”替换URL“ ”?

2023-12-19

在YII中 如果用于 url 的标题中有空格,则默认情况下空格会被“+”号替换。像这样的事情:

www.domain.com/event/view/id/DJ+罗巴格+鲁姆

我想做的是,我想用“-”(破折号)或“_”(下划线)替换“+”号。像这样的事情:

www.domain.com/event/view/id/DJ-罗巴格-鲁姆

or

www.domain.com/event/view/id/Dj_Robag_Ruhme

现在我的 urlManager 是:

'urlManager'=>array(
    'urlFormat'=>'path',
    'showScriptName'=>false,
    'caseSensitive'=>false,
    'rules'=>array(
        //'<controller:\w+>/<id:\d+>'=>'<controller>/view',
        //'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
        //'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        ),
),

嗯,自从使用 Yii 以来就没什么奇怪的了urlencode http://php.net/manual/function.urlencode.php对 url 参数进行编码。

第一种方法

您可以在您的模型中处理这个问题,例如:

public function getUrl()
{
  return Yii::app()->createUrl('/model/view', array(
    'id'=>str_replace(' ', '-', $this->id),
  ));
}

不要忘记:

  • replace model与您的模型的名称,
  • 使用此方法获取您的模型网址,
  • 修改控制器中的视图操作:

    public actionView($id)
    {
        $id = str_replace('-', ' ', $id);
        // .....
    }
    

第二种方法

你可以用你自己的CUrlRule http://www.yiiframework.com/doc/api/1.1/CUrlRule class :

http://www.yiiframework.com/doc/guide/1.1/en/topics.url#using-custom-url-rule-classes http://www.yiiframework.com/doc/guide/1.1/en/topics.url#using-custom-url-rule-classes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用“-”或“_”替换URL“ ”? 的相关文章

  • 使用 Beautifulsoup 和正则表达式提取 10-K Edgar 文件中的文本

    我想从大约 10000 个文件中自动提取 1A 风险因素 部分并将其写入 txt 文件 可以找到带有文件的示例 URLhere https www sec gov Archives edgar data 1800 0001047469190
  • 如何将 URL 参数转换为 JavaScript 对象? [复制]

    这个问题在这里已经有答案了 我有一个像这样的字符串 abc foo def 5Basf 5D xyz 5 我怎样才能将它转换成这样的 JavaScript 对象呢 abc foo def asf xyz 5 到了 2021 年 请认为这个已
  • 如何在 J2EE 中进行动态 URL 重写

    回到我的 ASP NET 时代 我使用URL重写器 NET http urlrewriter net 进行动态 URL 重写 基本上 它是一个 HTTPModule 可以拦截页面请求并根据您定义的规则重写 URL 与 MOD REWRITE
  • 将文本中的 URL 替换为 HTML 链接

    不过 这是一个设计 例如 我放置了一个链接 例如 http example com http example com in textarea 我如何让 PHP 检测到它是http 链接 然后将其打印为 print a href http w
  • URL 哈希在重定向之间持续存在

    由于某种原因 当发送服务器端重定向 使用 Location 标头 时 非 IE 浏览器似乎会保留 URL 哈希 如果存在 例子 a simple redirect using Response Redirect http www yahoo
  • Jekyll + GitHub Pages 网站中的尾部斜杠导致 404

    我希望在我的网站上解析以下所有 URL 该网站是使用 Jekyll 构建并托管在 GitHub Pages 上的 https michaeledelstone com about https michaeledelstone com abo
  • SQL 未插入到 Yii 中具有关系的表中

    我正在尝试创建一个用户 但所有值都没有插入到数据库中 Systems user 表与partys 表有关系 因为party id 是sytems user 的主键 没有插入任何内容 甚至没有错误 它只是返回到 创建 页面 这是我的架构 Ta
  • nginx proxy_pass 省略路径

    我已经配置了 nginx 反向代理 location root var www html index index html location login proxy pass http 127 0 0 1 9080 proxy set he
  • 使用 Javascript 在前端创建基本 URL(开发、API 和生产)

    无论开发和部署如何 如何制作适用于 http https localhost 端口和实际域的基本 url 我想创建一个可以在所有场景或条件下工作的基本 url 无论 http https 协议 端口 本地主机和实际域如何 无论是在开发中还是
  • 什么会导致 PHP 变量被服务器重写?

    我的公司给了我一个虚拟机来安装网络软件 但我遇到了一个相当奇怪的问题 如果 PHP 变量与特定模式匹配 服务器就会覆盖 重写 它们 什么可以像这样重写 PHP 变量 以下是一个完整的独立脚本
  • 如何检查 URL 末尾是否有特定字符串

    我需要根据 URL 末尾的内容让覆盖层向下滑动 如果 URL 末尾有 faq 覆盖层下降 如何在 jQuery JavaScript 中做到这一点 如果您的网址看起来像这样http yourdomain com faq 你可以这样做 var
  • 具有 URL 样式格式的 NSTextField

    我一直在尝试让 NSTextField 识别 URL 并且一般来说我的代码可以工作 我按照苹果的说明进行操作这一页 http developer apple com library mac qa qa1487 关于如何使用 hyperlin
  • 类型错误:$.param.querystring 不是 Yii 中的函数

    我正在使用文本字段进行搜索 这样做时我收到错误类型错误 param querystring 不是函数 我怎样才能摆脱这个 检查您的页面中是否多次包含 jquery js 我有同样的错误 原因是 yii 已
  • 在 MVC 4 中使用路由更改 URL 参数

    我的几个 API 函数允许使用名为 attribute 和 attributeDelimiter 单数 的参数 这意味着预期的 URL 格式为 SomeController SomeAction aaa bbb attribute ccc
  • 无法从角度路由器获取路径或 url

    我无法从 ActivatedRoute 或 Router 导入中获取 URL 或路径 它为路径 输出空白 为 URL 输出 我记得使用的是工作版本 唯一捕获正确路由的是Router events 我也无法订阅ActivatedRoute 中
  • 如何在变量中存储包含哈希标记的完整 url?

    我正在尝试存储一个网址 例如 http localhost pro print index php page home http localhost pro print index php page home 在变量中 但我找不到执行此操作
  • 如何在Yii框架中向Form添加类?

    我在 Yii 中有一个表单 我想向该表单添加一个类
  • 更改 yii 中注册脚本文件的顺序

    我正在为 Yii 应用程序制作一个小部件 主布局视图注册了所有常见的脚本文件 例如 jQuery 和 jQueryUI 在我的小部件中 我想使用依赖于已加载的 jQueryUI 的 jQueryUI 插件 我知道我可以指定脚本包含在页面上的
  • Django 检索 GET 列表

    我是 Django 新手 我有一个 URL 列表 例如 example com item test item for test url 我知道如何在视图中检索该值 a request GET getlist item 我的问题是 如何在模板
  • ASP.NET Core 2.1 中不使用正则表达式的 URL 重写

    我的图标位于 images favicon ico而不是根 在Startup cs我可以添加重定向以避免 404 app UseRewriter new RewriteOptions AddRedirect favicon ico imag

随机推荐