PHP从文本文件中删除包含字符串的行

时间:2012-10-04 03:10:45

标签: php file

我有一个看起来像这样的文件。

Kate
Johnny
Bill
Kermit

我希望能够将“Bill”放入一个字符串中,然后删除“Bill”或变量中的任何内容,以及随后的“\ r \ n”文件。变量将始终包含文件中已有的内容,如果没有George,则不会出现“George” 此代码检查“Bill”是否存档。

$fileContents = file_get_contents("names.txt");
if(strpos($fileContents, "Bill"))
{
    //Bill is here!
}

我如何对此进行扩展以删除“Bill \ r \ n”?提前谢谢!

3 个答案:

答案 0 :(得分:2)

$var = "Bill";
$input = "Kate
Johnny
Bill
Kermit";

$output = str_replace($var ."\r\n", "", $input ."\r\n");

答案 1 :(得分:1)

  • 您可以使用trim删除所有空格
  • file可以将所有内容读作数组
  • 您可以使用array_map将修剪应用于所有数组内容
  • 您可以使用in_array来检查数组元素

示例

$fileContents = array_map("trim",file("hi.test"));
var_dump($fileContents);

输出

array
  0 => string 'Kate' (length=4)
  1 => string 'Johnny' (length=6)
  2 => string 'Bill' (length=4)
  3 => string 'Kermit' (length=6)

检查Bill是否在那里

if(in_array("Bill", $fileContents))
{
    //Bill is here 
}

答案 2 :(得分:0)

while(!feof($file)){
   $stringData = fgets($file);//read a line on every itration

if (strpos($stringData , "Bill") !== false) {
//do somting
}

}