我使用以下功能尝试该URL安全,但它不适用于阿拉伯语。怎么能修好呢?
<?php
function stringURLSafe($string)
{
// remove any '-' from the string since they will be used as concatenaters
$str = str_replace('-', ' ', $string);
// Trim white spaces at beginning and end of alias and make lowercase
$str = trim(strtolower($str));
// Remove any duplicate whitespace, and ensure all characters are alphanumeric
$str = preg_replace('/(\s|[^A-Za-z0-9\-])+/', '-', $str);
// Trim dashes at beginning and end of alias
$str = trim($str, '-');
return $str;
}
echo stringURLSafe('موقع إخباري: مرتبط بقناة {العربية} يقدم (على) مدار');
我希望输出为:
موقع-إخباري-مرتبط-بقناة-العربية-يقدم-على-مدار
答案 0 :(得分:0)
将你的正则表达式改为这一个:
$str = preg_replace('/(\s|[^\p{Arabic}\w0-9\-])+/u', '-', $str);
结果如下:
موقع-إخباري-مرتبط-بقناة-العربية-يقدم-على-مدار