PHP strlen()函数在enterkey计数中的异常行为

时间:2014-11-07 02:17:38

标签: php strlen

我试图使用strlen()函数

在php中查找以下文本的计数
<?php
    $a=" VII,C :06/11 ENG:TRANSLATION HUMAN BODY STRUCTURE
    TAM:FINISH CW &PULAVAR BOOK
    MAT:LEARN LN-1
    SOC:GEO:-1 CHOOSE,FILL UPS&MATCH
    SCI:MATTER&ITS NATURE.
    ";
?>

返回155个字符长度。

您可以在此处运行示例http://codepad.org/qIJ0fBEj

我删除了五个输入空格并运行以下代码,

<?php
$a=" VII,C :06/11 ENG:TRANSLATION HUMAN BODY STRUCTURETAM:FINISH CW &PULAVAR BOOKMAT:LEARN LN-1SOC:GEO:-1 CHOOSE,FILL UPS&MATCHSCI:MATTER&ITS NATURE.";
echo strlen($a);
?>

在此处查看示例http://codepad.org/JDFy6Y1t

它返回145. 5个输入键如何占用10个?

2 个答案:

答案 0 :(得分:4)

我打赌这个输入来自Windows电脑。新行实际上是一个回车符(\r一个换行符(\n)。因此每个新行两个字符。

答案 1 :(得分:1)

+1约翰,回车是问题。您可以使用str_replace从字符串中删除所有回车符。

$a = str_replace("\r\n", "\n", $a); // in windows