PHP正则表达式在字符串后回显字符

时间:2019-01-29 20:39:35

标签: php regex

我在.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;

1 个答案:

答案 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函数用于检查最后一个句子中字符串的位置。