コンテンツの多言語化を可能にする php で構築しているサイトがあります。サイトの一部にはビジネス リスティングがあります。これらのリスティングを表示するために SEO フレンドリーな URL を設定しているので、たとえば、「A bar down the street」というビジネス リスティングを作成します。URL は次のようになります。
/listing/a-bar-down-the-street
ただし、このリストのアラビア語版があるとしましょう。名前は次のようになります。
شريط الشارع
それを英語版と同じ URL 形式にする方法を教えてください。文字列を seo に適した URL に変換するアラビア語版の関数を試してみると、空に戻ってきました。
編集: さらに明確にするために、私が探しているのは、サイトの言語に関係なく、任意の文字列を SEO フレンドリーな URL に変換できる php 関数だけです。
編集パート 2 以下は、文字列を SEO フレンドリーな URL に書き換えるために使用する関数です。おそらく、言語にやさしいものにするために何を追加する必要があるか教えていただけますか?
public function urlTitle($str,$separator = 'dash',$lowercase = TRUE)
{
if ($separator == 'dash')
{
$search = '_';
$replace = '-';
}else
{
$search = '-';
$replace = '_';
}
$trans = array(
'&\#\d+?;' => '',
'&\S+?;' => '',
'\s+' => $replace,
'[^a-z0-9\-_]' => '',
$replace.'+' => $replace,
$replace.'$' => $replace,
'^'.$replace => $replace,
'\.+$' => ''
);
$str = strip_tags($str);
$str = preg_replace("#\/#ui",'-',$str);
foreach ($trans AS $key => $val)
{
$str = preg_replace("#".$key."#ui", $val, $str);
}
if($lowercase === TRUE)
{
$str = mb_strtolower($str);
}
return trim(stripslashes($str));
}