0

我尝试使用以下功能安全地使用该 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('موقع إخباري: مرتبط بقناة {العربية} يقدم (على) مدار');

我希望输出为:

موقع-إخباري-مرتبط-بقناة-العربية-يقدم-على-مدار
4

1 回答 1

0

将您的正则表达式更改为此:
$str = preg_replace('/(\s|[^\p{Arabic}\w0-9\-])+/u', '-', $str);
这里的结果:
موقع-إخباري-مرتبط-بقناة-العربية-يقدم-على-مدار

于 2013-01-14T09:54:18.677 回答