如何删除php中gmail附件中出现的垃圾字符?

时间:2016-01-06 09:01:04

标签: php gmail-imap

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

enter image description here

2 个答案:

答案 0 :(得分:0)

看起来丑陋的文字不是垃圾文件,而是让*.doc文件成为DOC文件(即格式化)。您无法使用PHP回显该文件。

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

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

if(file_put_content("attachment.doc", $email['attachment'])){
    header("Location: attachment.doc");
}

答案 1 :(得分:0)

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

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

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

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