在PHP中对字符串进行Slugify

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在PHP中对字符串进行Slugify相关的知识,希望对你有一定的参考价值。

Function which will slugify a string for use in URLs, taking out any spaces and other non-URL useful characters.
  1. /**
  2.  * Modifies a string to remove al non ASCII characters and spaces.
  3.  */
  4. static public function slugify($text)
  5. {
  6. // replace non letter or digits by -
  7. $text = preg_replace('~[^\pLd]+~u', '-', $text);
  8.  
  9. // trim
  10. $text = trim($text, '-');
  11.  
  12. // transliterate
  13. if (function_exists('iconv'))
  14. {
  15. $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
  16. }
  17.  
  18. // lowercase
  19. $text = strtolower($text);
  20.  
  21. // remove unwanted characters
  22. $text = preg_replace('~[^-w]+~', '', $text);
  23.  
  24. if (empty($text))
  25. {
  26. return 'n-a';
  27. }
  28.  
  29. return $text;
  30. }

以上是关于在PHP中对字符串进行Slugify的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的 Slugify 和字符转写

php PHP的简单slugify功能。为传递的字符串创建一个slug,同时考虑国际字符。

如何在保持 UTF-8 字母的同时进行 slugify [重复]

得到一个错误:slugify:需要字符串参数

php Slugify

php slugify