php中的strlen函数

时间:2013-06-11 10:20:36

标签: php strlen

我在数据库中有一些项目如下

Item       Description
--------------------------
Item 1     Some text here
Item 2     Some text
Item 3     Some text here
Item 4     Some 
Item 5     Some text here

这里的客户要求是如果描述超过15个字符,那么我们应该只显示15个字符并且应该显示一些虚线(...)。如果描述少于15个字符,那么我们将显示全文(现在虚线不应该在那里)

为此,我写了下面的代码。

<?php                                                           
    if(strlen($row['description'])>15) {
        echo mb_substr($row['description'],0,15,"UTF-8");
        echo" . . . . .";
    }
    else
    {
        echo $row['description'];
    }
?>

在英语的情况下,代码工作正常,但在日语的情况下,它会产生问题。意味着即使是文字少于15个字符的虚线也会显示出来(仅在少数情况下)

可能是什么问题?

3 个答案:

答案 0 :(得分:6)

当您处理多字节字符时,您应该使用mb_xxx个函数,这是strlen的实现:mb_strlen

编辑:您可以阅读有关多字节字符串函数的更多信息:http://www.php.net/manual/en/ref.mbstring.php

答案 1 :(得分:3)

使用mb_strlen(),因为在使用多字节字符集时它将返回正确的长度。

答案 2 :(得分:0)

它会帮助你............

<?php 

if(mb_strlen($row['description'])>15) {

    echo mb_substr($row['description'],0,15,"UTF-8");

    echo" . . . . .";

}

else

{

    echo $row['description'];

}

&GT;