用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1481|回复: 9
收起左侧

[URL] 系统帮助方法url_title兼容性问题

[复制链接]
发表于 2017-5-28 17:31:48 | 显示全部楼层 |阅读模式
文件: system/helpers/url_helper.php
文件中 函数 "url_title" 有一个兼容性的问题,在windows下使用这个函数将中文格式化为链接地址支持的格式没问题, 在mac os下中文的替换会出问题,具体问题是在 $trans 数组的第二个值的正则表达式([^\w\d _-])出现的,会将中文都替换为空.同样的代码在windows中相安无事.一直不懂是什么问题~~
 楼主| 发表于 2017-5-28 17:33:38 | 显示全部楼层
这里应该是要将所有非中文,数字,空格,下划线和横杆的字符都去掉,奈何\w匹配不到中文
发表于 2017-5-30 01:17:57 | 显示全部楼层
URL 不要使用中文。
 楼主| 发表于 2017-6-1 12:00:26 | 显示全部楼层
Hex 发表于 2017-5-30 01:17
URL 不要使用中文。

需求要求用中文,无解么?
发表于 2017-6-1 15:58:10 | 显示全部楼层
Blandal 发表于 2017-6-1 12:00
需求要求用中文,无解么?

url_title 这个函数本身也不是给中文使用的啊,所以老外并没有考虑中文。我认为没有必要用这个函数。
 楼主| 发表于 2017-6-1 16:22:22 | 显示全部楼层
Hex 发表于 2017-6-1 15:58
url_title 这个函数本身也不是给中文使用的啊,所以老外并没有考虑中文。我认为没有必要用这个函数。 ...

看来只能自己写个替代的方法了
发表于 2017-6-2 10:23:14 | 显示全部楼层
Blandal 发表于 2017-6-1 16:22
看来只能自己写个替代的方法了

url_title() 是给英文之间加横线,中文没必要加 横线吧。。。
 楼主| 发表于 2017-6-2 13:41:59 | 显示全部楼层
Hex 发表于 2017-6-2 10:23
url_title() 是给英文之间加横线,中文没必要加 横线吧。。。

是的,就是担心有的中文有换行什么的,或者引号啊
发表于 2017-6-2 13:50:04 | 显示全部楼层
Blandal 发表于 2017-6-2 13:41
是的,就是担心有的中文有换行什么的,或者引号啊

自己写一个helper我觉得更好一些。
 楼主| 发表于 2017-6-2 14:59:54 | 显示全部楼层
Hex 发表于 2017-6-2 13:50
自己写一个helper我觉得更好一些。

好的,谢谢!

本版积分规则