我在.txt文件中有一个大的.txt文件,它包含数字712和其他字符。例如(712iu3 89234)或(712jnksuiosd)。 712之后的字符将更改,它们可能有空格。我有一个PHP脚本,可以逐行读取文件。我想在712之后回显所有字符。如果有空格,我想删除空格。我只需要前20个字符(空格除外)。到目前为止,我已经尝试过
$file = new SplFileObject("1.txt");
// Loop until we reach the end of the file.
while (!$file->eof()) {
// Echo one line from the file.
echo $file->fgets();
}
// Unset the file to call __destruct(), closing the file handle.
$file = null;
答案 0 :(得分:0)
尝试使用下面的代码
<?php
$file = new SplFileObject("test.txt");
// Loop until we reach the end of the file.
while (!$file->eof()) {
$newString = str_replace(' ', '', $file->fgets());
if (strpos($newString, '712') !== false) {
$strWith712 = substr($newString, 0, 20);
$post = strripos($strWith712, '712');
$str = substr ($strWith712, $post );
echo $str;
}
}
$file = null;
?>
这将替换空格,然后如果找到字符串,则使用数字“ 712”搜索字符串,然后打印数字后的字母
strripos
函数用于检查最后一个句子中字符串的位置。