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 に適しているとよいでしょう。
今日はヘブライ語でしたが、明日はロシア語、中国語、クリンゴン語になるかもしれません...