我正在使用php构建一个网站,允许多语言内容。 网站的一部分将包含业务列表。 我已设置SEO友好的url以查看这些列表,例如,我将有一个名为“街上的酒吧”的商家列表。 url将如下所示:
/listing/a-bar-down-the-street
然而,假设有一个阿拉伯语版本的此列表,则名称将如下所示:
شريط أسفل الشارع
我该如何将其转换为与英文版本相同的url格式,但在当前语言中?当我尝试将我的函数用于阿拉伯语版本时,它返回为空。
编辑: 进一步说明,我要找的只是一个php函数,它允许我将任何字符串转换为SEO友好的url,无论网站使用什么语言。
编辑第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));
}