【发布时间】:2016-04-12 17:08:02
【问题描述】:
我使用 file() 从 .txt 中提取文本,但单词 (strlen) 的长度大于 2,除了最后一个单词; 例如:如果我的 words.txt 看起来像这样:
sql
单词
php
strlen(sql) = 5
strlen(word) = 6
strlen(php) = 3
为什么?谢谢
【问题讨论】:
我使用 file() 从 .txt 中提取文本,但单词 (strlen) 的长度大于 2,除了最后一个单词; 例如:如果我的 words.txt 看起来像这样:
sql
单词
php
strlen(sql) = 5
strlen(word) = 6
strlen(php) = 3
为什么?谢谢
【问题讨论】:
strlen() 返回字符串中的字节数而不是字符数。
尝试改用mb_strlen()
【讨论】:
可能是因为每行末尾都有以“\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 的原因