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


PHP strlen() function abnormal behaviour in enterkey count

我正在尝试使用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??

我打赌这个输入来自Windows计算机。新行实际上是回车('r新行字符('n)。因此,对于每一新行,两个字符。

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

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