在PHP中为unicode数据选择子字符串

在PHP中为unicode数据选择子字符串,php,unicode,Php,Unicode,我正在开发一个教会网站,在这个网站上,我会在主页上简要介绍教会的历史。我完成的代码如下所示: function getabout($msg) { if (strlen($msg) > 750) { $message=substr($msg, 0, strpos($msg, ' ', 750)); } else { $message=$msg; } $message=$message.".

我正在开发一个教会网站,在这个网站上,我会在主页上简要介绍教会的历史。我完成的代码如下所示:

function getabout($msg)
{
    if (strlen($msg) > 750) 
    {
             $message=substr($msg, 0, strpos($msg, ' ', 750));
    } 
    else 
    {
        $message=$msg;
    }
    $message=$message."...";
    return $message;
}
如果内容是英语,这将很好。但当我尝试使用像malayalam这样的unicode语言时,它显示的字符少于750个


我怎样才能解决这个问题。提前感谢。

strlen函数不适用于多字节字符串。改用多字节函数

在您的情况下,请使用mb_strlen和mb_strpos


如果我添加英语,这是否会影响。这不取决于语言。它取决于字符集。对所有语言使用UTF8,您将不会有任何问题。