2012-03-01 71 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