看板 PHP 關於我們 聯絡資訊
大家好, 我想在文字檔中搜尋字串 在test.txt搜尋標題(Subject)並顯示出標題 $file = fopen("test.txt", "r") ; while(!feof(file)) { $str = fget($file) ; $find_str = strpos($str,"Subject: ") ; if(!empty($find_str)) { $Subject = $str ; echo $Subject ; } } fget()函數一行一行讀出 利用strpos()來查詢字串 如果這行尋找不到關鍵字的話,會傳回空值給$find_str if判斷式($find_str不為空值)就列印出標題 但是如果傳回值 = 0 ($find_str = 0) if也會把0視為空值(?),不會列印出標題 我把if改為($find_str == 0),結果變成回傳空值也列印出來 0跟NULL應該是不一樣才對呀... 可是我沒辦法正常列印出標題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.26.104
arrack:if($find_str!==FALSE) 11/27 15:44
謝謝你,但是還是不行跟if(!empty($find_str))一樣的狀況 ※ 編輯: kenny78826 來自: 118.160.26.104 (11/27 20:11)
arrack:把你的input data貼上來看看 11/27 21:09
input data 是指我的test.txt檔嗎? ※ 編輯: kenny78826 來自: 220.136.114.86 (11/28 16:57)
guardlan:怎不用 file_get_contents + preg_match 快又有效XDD 11/29 11:42
guardlan:稍微看了一下 strpos 的回傳值找不到會回傳 false 所以1F 11/29 11:49
guardlan:正解才是... 11/29 11:51
謝謝,preg_match成功了呢:) ※ 編輯: kenny78826 來自: 118.160.23.53 (11/29 13:04)