0

为了 SEO 目的,我将一些用户提供的内容放在我的 URL 中,使用以下代码对其进行清理:

/**
* Create URL friendly strings or filenames
* @param type $str
* @param type $replace
* @param type $delimiter
* @return type
*/
public static function toAscii($str, $replace=array(), $delimiter='-') {
  if(!empty($replace)) {
    $str = str_replace((array)$replace, ' ', $str);
  }
  $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
  $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
  $clean = strtolower(trim($clean, '-'));
  $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
  return $clean;
}

然而,我发现这还不够。一篇带有一些希伯来字符的文章给了我:

iconv():在输入字符串中检测到非法字符

是否有一个灵丹妙药的功能可以安全地将字符串变成漂亮的 URL?至少我希望它不会崩溃。然后,如果 URL 仍然看起来不错并且对 SEO 友好,那就太好了。

今天是希伯来语,但明天可能是俄语、汉语、克林贡语……

4

0 回答 0