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