【问题标题】:readen words from a file have bigger lenght than the real one从文件中读取的单词比真实单词的长度更大
【发布时间】:2016-04-12 17:08:02
【问题描述】:

我使用 file() 从 .txt 中提取文本,但单词 (strlen) 的长度大于 2,除了最后一个单词; 例如:如果我的 words.txt 看起来像这样:

sql

单词

php

strlen(sql) = 5

strlen(word) = 6

strlen(php) = 3

为什么?谢谢

【问题讨论】:

    标签: php file extract


    【解决方案1】:

    strlen() 返回字符串中的字节数而不是字符数。 尝试改用mb_strlen()

    【讨论】:

      【解决方案2】:

      可能是因为每行末尾都有以“\n”结尾的行。能否提供读取文件的代码以便更好地帮助您?

      要删除所有换行符和回车符,请使用以下代码:

      $val = preg_replace('/\r|\n/', '', $val);
      

      【讨论】:

      • while($word) { $file = file("words.txt"); foreach ($file as $key => $val) { echo $word . " " . $val . "<br>"; echo strlen($word) . " " . strlen($val). "<br>"; if($val == $word) #code } $word = strtok(" "); } //我有一个带有文本的变量 $text,这就是我使用 strtok 的原因
      • 我更新了我的答案,你应该先删除换行符和回车,然后再计算每行的长度。
      猜你喜欢
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      相关资源
      最近更新 更多