我有一个使用 php 构建的网站,该网站将允许多语言的内容。该网站的一部分将有企业列表。我设置了 SEO 友好的 url 来查看这些列表,例如,我会有一个名为“A bar down the street”的商家列表。网址如下所示:
/listing/a-bar-down-the-street
但是,假设此列表有阿拉伯语版本,则名称将如下所示:
شريط أسفل الشارع
我如何将其制作成与英文版相同的 url 格式,但使用它当前使用的语言?当我在阿拉伯语版本上尝试将字符串转换为 seo 友好 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));
}