mb_strlen
只返回字节数,而这不是我想要的。
它应该适用于多字节字符。
mb_strlen($text, "UTF-8");
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
mb_strlen用于测量被测量的字符串长度。
<?php
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
?>
直接从文档中获取。
mb_substr
给出一个多字节字符串中的子字符串 - 这与字符串的长度无关。使用其他人建议的mb_strlen
。 - Stefan Gehrigstrlen()
例如:strlen('a₹')
->4
。字符计数 ->mb_strlen()
例如:mb_strlen('a₹', "UTF-8")
->2
。注意:mb_strlen()
在 PHP 中默认是禁用的。 - Sathvik