1
$string = (string) file_get_contents($_FILES['file']['tmp_name']);
echo $string;
// Correctly echos string contents
preg_match_all("/[\._a-zA-Z0-9-][email protected][\._a-zA-Z0-9-]+/i", $string, $matches);
print_r($matches);
// No matches
我解析文本/ csv文件并从上传的文件中获取电子邮件地址。解析我导出的Google联系人文件时奇怪地失败。但是,当我简单地复制echo'd的字符串并粘贴该字符串而不是file_get_contents结果时,它会解析并运行。preg_match_all混淆失败
任何想法为什么它拒绝采用file_get_contents
字符串,但如果我自己粘贴原始数据,它的工作原理?
我认为这是`file_get_contents`和上传的问题,您应该删除'预浸匹配,所有`标签? 编辑:尝试使用`move_uploaded_file`然后阅读它? – 2011-01-14 04:55:41
只是一个笔记;由于您使用的是不区分大小写的修饰符,因此我认为它是多余的,包括字符类中的两个alpha字符范围。 `a-z`应该就够了。 – Dan 2011-01-14 05:21:06