【问题标题】:PHP strlen() function abnormal behaviour in enterkey countPHP strlen() 函数在 enterkey 计数中的异常行为
【发布时间】:2014-11-07 02:17:38
【问题描述】:

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

【问题讨论】:

    标签: php strlen


    【解决方案1】:

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

    【讨论】:

    • 我想获取按下回车键的实际计数。而不是 155 我想要 150。
    • 然后在进行计数之前删除所有回车符。你甚至可以使用preg_match()
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 2022-12-04
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-25
      相关资源
      最近更新 更多