如何获取PHP中的字符数?

时间:2010-04-28 10:07:37

标签: php string

mb_strlen只提供字节数,而不是我想要的。

它应该使用多字节字符。

7 个答案:

答案 0 :(得分:11)

mb_strlen也许?

答案 1 :(得分:9)

mb_strlen($text, "UTF-8");

答案 2 :(得分:6)

带有mb_strlen()

mb_internal_encoding('UTF-8')

答案 3 :(得分:0)

mb_strlen字符串测量的长度。

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

直接来自文档。

答案 4 :(得分:0)

如果您使用UTF-8编码步骤通过字符串中的所有字节并计算未设置第8位的字符。

此解决方案不需要mb扩展名。

答案 5 :(得分:0)

我不确定mb_strlen,但我自己只使用普通的旧strlen ... http://php.net/manual/en/function.strlen.php

答案 6 :(得分:0)

strlen():返回字节数而不是字符串中的字符数。

$name = "Perú"; // With accent mark
echo strlen($name); // Display 5, because "ú" require 2 bytes.

$name = "Peru"; // Without accent mark
echo strlen($name); // Display 4

mb_strlen():返回具有字符编码的字符串中的字符数。多字节字符计为1。

$name = "Perú"; // With accent mark
echo mb_strlen($name); // Display 4, because "ú" is counted as 1.

$name = "Peru"; // Without accent mark
echo mb_strlen($name); // Display 4

iconv_strlen():以整数形式返回字符串的字符数。

$name = "Perú"; // With accent mark
echo iconv_strlen($name); // Display 4.

$name = "Peru"; // Without accent mark
echo iconv_strlen($name); // Display 4