在放入CSV之前,删除变量中包含特定字符的行

时间:2012-09-17 02:24:10

标签: php

我想问一下实现这一目标的有效方法是什么。

我有一个变量,用于保存下面的数据,并将其传递到CSV文件中。

"Name","Address","Email","Comment"
", <=, ",", <=, ",", <=, ",", <=, "
"John Smith","USA","john@john.net","No Comment"

我想要实现的是删除第二行,以便在将数据推送到CSV之前,这些字符已经删除。

", <=, ",", <=, ",", <=, ",", <=, "

我现在唯一可以做的就是将数据保存到文件中,然后对其进行操作,然后将其用于CSV,但我确信有更快的操作方法。

2 个答案:

答案 0 :(得分:1)

你的线总是这样吗?正如Dagon所说:

$yourdata = str_replace('", <=, ",", <=, ",", <=, ",", <=, "', '', $yourdata);

http://php.net/manual/en/function.str-replace.php

如果垃圾数据总是每隔一行,那么当您将数据重新构建为变量并逐行读取时,跳过它会更有效率。

答案 1 :(得分:1)

您可以设置一个小过滤器,以便在遇到这些行时自动丢弃这些行。简单的事情:

function filtered_fputcsv($fp, $fields) {
  if ($fields ...has relevant data...) {
    fputcsv($fp, $fields);
  }
}

并使用它代替标准编写器(或类似的阅读版本)。