我在数据库中有一些项目如下
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个字符的虚线也会显示出来(仅在少数情况下)
可能是什么问题?
答案 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;