2012-03-01 72 views
1

我想用url中的unicode字符清理博客标题。我需要用“ - ”替换无效的字符和空格,以便像这样更好地重写。如何为unicode标题创建unicode slu??

​​

任何人都可以有任何想法如何做到这一点?

+0

请定义“无效字符”。 – deceze 2012-03-01 06:08:05

+0

我不想像这样的人物。 ,[] {} /?在我的网址。如果用户使用这些字符发布标题,我想将其更改为' - '以获得更好的搜索结果。 – uttam 2012-03-01 06:44:38

+0

我不知道你在使用哪种语言,因为我没有看到C#标签。但在C#中,我会做Url.Encode() – rfcdejong 2012-03-01 12:46:51

回答

3

您可以使用此算法的搜索引擎友好的Unicode URL:

  1. 将文本转换为Unicode范式C,即预组成的字符。
  2. 使用带有Unicode字符类的正则表达式用空格替换每个非字母非数字字符。
  3. 删除领先,尾随和双空格。
  4. 缩短。
  5. 用连字符替换空格。
+0

感谢您的算法。我开始关注unicode字符的规范化,并发现这个链接http://www.php.net/manual/en/normalizer.normalize.php。这是正确的函数,还是有任何其他库或函数可以规范化Unicode字符? – uttam 2012-03-05 01:09:06

+0

@uttam是的。在PHP中,你可以使用Normalizer :: normalize。 – 2012-03-05 08:33:10

+0

任何代码示例? – Trix 2017-05-08 10:32:10