【问题标题】:How do you make a better seo friendly URL when there is UTF-8 characters and many space in between?当有 UTF-8 字符并且中间有很多空格时,如何制作更好的 seo 友好 URL?
【发布时间】:2014-09-04 05:11:42
【问题描述】:

当有人错误地在字符之间输入了很多空格时,我所做的就是将所有空格替换为 - 但是如果中间有很多空格怎么办?例如:

用户输入的帖子标题:

فارسی   * Allposts---

当我将上面的示例转换为用户友好的 url (slug) 时,我得到了这个:

----فارسی---*-Allposts---

如何为空格添加一个 - 并删除特殊字符并保留 utf-8 字符?我正在寻找的输出如下:

فارسی-Allposts  

有没有办法用正则表达式来处理它?如果是阳性,怎么做?


编辑:

现在我可以管理多个空间,如下所示:

 $string = preg_replace('/\s+/', '-', $string);

但对于特殊字符问题仍然存在。

【问题讨论】:

    标签: url utf-8 slug


    【解决方案1】:
    1. 删除特殊字符:将 [\-\?\*] 或任何黑名单字符替换为空字符串。
    2. 将空白字符串转换为单个 - 字符:将 \s+ 替换为 -

    看起来您已经想出了第 2 步。请确保您第二步执行此操作,以免意外删除您刚刚插入的连字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-09
      • 2011-02-12
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多