【问题标题】:Exported csv files contains html tags导出的 csv 文件包含 html 标签
【发布时间】:2013-02-22 06:39:55
【问题描述】:

我想创建一个 csv 文件。

问题是生成的csv文件包含html标签和其他无用信息。

我尝试了以下代码:

<?php
    mysql_connect("localhost","root","");
    mysql_select_db("XXXXXXX");
    $query = "SELECT * FROM table";
    $filename = $file."_".date("Y-m-d_H-i",time());

   //Generate the CSV file header
   header('Content-Type: text/csv; charset=utf-8');
   header("Content-type: application/vnd.ms-excel");
   header("Content-disposition: csv" . date("Y-m-d") . ".csv");
   header("Content-disposition: filename=".$filename.".csv");

   $result = mysql_query($query) or die(mysql_error());
   $vilaio='';
   $vilaio.="\n\tID\tEmail id\n";
   while($row = mysql_fetch_array($result)){
      $vilaio.="\n\t$row[eid_id]\t$row[eid_email]"; 
   }

  print $vilaio;
?>

代码有问题吗?

【问题讨论】:

  • html标签和其他无用信息可能没有存储在数据库中吗?
  • html标签打印在哪里?在您要显示的记录之间还是在它们之前或之后?

标签: php jquery mysql ajax csv


【解决方案1】:

尝试使用 strip_tags(),如下所示:

$result = mysql_query($query) or die(mysql_error());
$vilaio='';
 $vilaio.="\n\tID\tEmail id\n";
 while($row = mysql_fetch_array($result)){
      $vilaio.="\n\t$row[eid_id]\t".strip_tags($row[eid_email]); 
 }
print $vilaio;

【讨论】:

    【解决方案2】:

    不推荐使用标头方式来创建一个 csv 文件。 PHP 有一个名为PHPExcel 的类库。

    PHPExcel 图书馆:

    已经回复here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 2019-08-25
      • 2011-03-04
      • 2021-01-24
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多