![]() |
1
378
不要用冗长的替换,试试这个:
这是基于symfony的Jobeet教程。 |
![]() |
2
36
更新由于这个答案引起了人们的注意,我正在添加一些解释。 提供的解决方案将基本上用-(连字符)替换除A-Z、A-Z、0-9、&-(连字符)之外的所有内容。因此,它不能与其他Unicode字符(对于URL slug/string是有效字符)一起正常工作。常见的情况是输入字符串包含非英语字符。 只有当您确信输入字符串不包含您可能希望成为输出/段塞一部分的Unicode字符时,才使用此解决方案。 例如,“_·_·_·_·_·_·_·_·_·_·_·_·_”将变为“-----”(所有连字符),而不是“_·_·_·_·_·_·_·_·_·_·_·_”(有效的URL段塞)。 原始答案怎么样。。。
? |
![]() |
3
31
如果你有 intl 已安装扩展,可以使用 transliterator_transliterate 函数可以轻松创建段塞。 以后可以用破折号替换空格,使其更像一个段塞。
|
![]() |
4
22
注意:我从WordPress上取下了这个,它工作了!! 这样使用:
代码
|
![]() |
5
8
这里还有另一个,例如,“带有奇怪字符的标题”a x z“变成了“带有奇怪字符的标题”eee-a-x-z。
|
![]() |
6
8
@imran omar bukhsh代码的更新版本(来自最新的Wordpress(4.0)分支):
在线查看 example . |
![]() |
7
5
使用许多高级开发人员支持的现有解决方案总是一个好主意。最受欢迎的是 https://github.com/cocur/slugify . 首先,它支持多种语言,并且正在更新。 如果您不想使用整个包,您只需复制所需的部分即可。 |
![]() |
8
4
不要用preg_替换。有一个专门为任务构建的PHP函数:strtr()。 http://php.net/manual/en/function.strtr.php 摘自上述链接中的评论(我自己测试过;它工作:
|
![]() |
9
4
我正在使用:
唯一的回退是西里尔字符不会被转换,我现在正在寻找解决方案,它不是每个西里尔字符的长str_替换。 |
![]() |
10
4
|
![]() |
12
2
使用已经在核心中实现的东西怎么样?
或核心URL/URL重写方法之一。 |
![]() |
13
2
有一个很好的解决方案 here 这也涉及特殊人物。 texto fant_stico=>texto fantastico
作者:Natxet |
![]() |
14
1
自从 gTLDs 和 IDNs 我不明白为什么url不应该包含andr_)s。 只需要rawurlencode$url就可以了。大多数浏览器都在URL中显示UTF-8字符(可能不是一些古老的IE6),bit.ly/goo.gl可以用于在俄罗斯和阿拉伯语等情况下使其变短(如果需要,可以用于广告目的),或者像用户在浏览器URL上写的那样将其写在广告中。 唯一的区别是空格“”,如果不允许,最好用“-”和“/”替换它们。
URL编码 http://www.hurtta.com/RU/%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B/ |
![]() |
15
1
我是根据梅林的反应写的。不管页面上的字符编码是什么,此函数都可以工作。它也不会将单引号转换为破折号:)
|
![]() |
16
1
在本地主机上一切正常,但在服务器上它帮助我在“mb-strtolower”上设置了“locale”和“utf-8”。
|
![]() |
17
1
我认为最优雅的方式是使用behat \ transliterator \ transliterator。 我需要通过您的类来扩展这个类,因为它是一个抽象的,有些像这样:
然后,使用它:
当然,你也应该把这些东西放在你的作曲家身上。
|
![]() |
18
1
我不知道该用哪一个,所以我在phptester.net上做了一个快速的长凳。
开始:
输出结果:
需要进一步的测试。 编辑:更少迭代测试 开始:
输出结果:
|
![]() |
19
0
我有一个在西班牙网站上工作的代码。请看我博客里的代码 Function to generate clean url slugs from string with duplication check |
![]() |
Karlo · PHP Sqlite PDO最新版本 4 月前 |
![]() |
Malte · 检查远程服务器上是否存在文件(使用PHP)[关闭] 4 月前 |
![]() |
Bard.Mus · 迁移后的数据库字符集环境 5 月前 |