2

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

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 个字符,虚线也会显示(仅在少数情况下)

可能是什么问题?

4

3 回答 3

6

当你处理多字节字符时,你应该使用mb_xxx函数,这里是strlenmb_strlen的实现

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

于 2013-06-11T10:22:21.253 回答
3

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

于 2013-06-11T10:22:58.323 回答
0

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

<?php 

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

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

    echo" . . . . .";

}

else

{

    echo $row['description'];

}

?>

于 2013-06-11T10:47:55.067 回答