[請益] 在文字檔中搜索字串

看板PHP作者 (舞俏楓)時間15年前 (2010/11/27 15:03), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
大家好, 我想在文字檔中搜尋字串 在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

11/27 15:44, , 1F
if($find_str!==FALSE)
11/27 15:44, 1F
謝謝你,但是還是不行跟if(!empty($find_str))一樣的狀況 ※ 編輯: kenny78826 來自: 118.160.26.104 (11/27 20:11)

11/27 21:09, , 2F
把你的input data貼上來看看
11/27 21:09, 2F
input data 是指我的test.txt檔嗎? ※ 編輯: kenny78826 來自: 220.136.114.86 (11/28 16:57)

11/29 11:42, , 3F
怎不用 file_get_contents + preg_match 快又有效XDD
11/29 11:42, 3F

11/29 11:49, , 4F
稍微看了一下 strpos 的回傳值找不到會回傳 false 所以1F
11/29 11:49, 4F

11/29 11:51, , 5F
正解才是...
11/29 11:51, 5F
謝謝,preg_match成功了呢:) ※ 編輯: kenny78826 來自: 118.160.23.53 (11/29 13:04)
文章代碼(AID): #1CyAqrhA (PHP)
文章代碼(AID): #1CyAqrhA (PHP)