代码之家  ›  专栏  ›  技术社区  ›  swap

如何在php中删除gmail附件中的垃圾邮件字符?

  •  -2
  • swap  · 技术社区  · 9 年前

    我已经标记了图像中的垃圾字符,我希望代码将其删除,并开始读取之后的数据。

    enter image description here

    2 回复  |  直到 9 年前
        1
  •  0
  •   Nijraj Gelani    9 年前

    看起来很难看的文字不是垃圾,而是让人 *.doc 将DOC文件归档(即格式化)。你不能仅仅使用PHP来回显这个文件。

    不过,您可以使用一些PHP文档查看器库来显示它,或者您可以在线找到一些API来将doc转换为TXT。

    你也可以让用户下载它。使用 file_put_content() 将该附件存储到文档文件中,如下所示:

    if(file_put_content("attachment.doc", $email['attachment'])){
        header("Location: attachment.doc");
    }
    
        2
  •  0
  •   trincot Jakube    9 年前

    二进制数据表示*。doc文件。如果您真的想从中提取纯文本,可以执行一些模糊逻辑,并提取不包含任何ASCII代码低的字符的行(CR和LF除外)。

    假设您的数据结构位于 $数据 ,您可以这样做:

    foreach($data as $element) {
        $element["attachment"] = preg_replace(
            "/^.*?[\x01-\x09,\x0B,\x0C,\x0E-\x1F].*?$\R?/m",
            "", $element["attachment"]);
    }
    

    同样,这只是“模糊”逻辑,所以您仍然可能会得到一些没有删除的无意义文本。