[PHP] ereg_replace字串取代的結果有點怪異

看板Programming作者 (我 有我的倔強...)時間18年前 (2006/05/31 18:25), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
hch1110(5).jsp是從網站經過查詢產生頁面,我把它下載到自己的電腦裡 (其實一共有1177個類似的檔案,這裡就以這個做為例子) 程式的目的: 我想利用加入逗點(",")的方式,把文字處理過後讀到excel整理成表格 程式邏輯說明: 在前面第一階段的程式,我把html的tag和一些跳行及空白符號去除 產生company.txt, 接著第二階段的程式,我根據需要的欄位加上逗點,例如統一編號或營利事業名稱等等 然後產生final.txt 問題就在這裡了, 例如: $line1 = ereg_replace('統一編號',',統一編號,',$line1); 我echo到網頁看到的結果很正常 "xxxxx,統一編號,12345678xxxxx" 可是寫入檔案(final.txt)時卻變成 "xxxxx,統一編號12345678,xxxxx" 其他像"核准設立日期"、"最近異動日期"、公司/行號聯絡電話"...等等 只要後面是有接數字的欄位(例:統一編號12345678)都有這個情形 所以想請教大家,這是ereg_replace的bug嗎? 或是有什麼地方是我沒注意到的呢?? 謝謝!! 為了除錯好理解,所以把檔案附上 讀進來的檔案:http://www.rskl.geog.ntu.edu.tw/tgis/problem/hchl1110(5).jsp 第一階段產出的檔案:http://www.rskl.geog.ntu.edu.tw/tgis/problem/company.txt 第二階段產出的檔案:http://www.rskl.geog.ntu.edu.tw/tgis/problem/final.txt ========第一階段開始 $infile = 'hchl1110(5).jsp'; $fin = fopen($infile, 'r'); $outfile = 'company.txt'; $fout = fopen($outfile,'w') or exit('檔案$outfile 開啟錯誤!<br>'); while(!feof($fin)) { $line = fgetss($fin, 1024); $line = ereg_replace(' ','',$line); $line = ereg_replace('  ','',$line); $line = trim($line); fwrite($fout,$line); } fwrite($fout,"\n"); fclose($fin); fclose($fout); ====第二階段開始 $infile1 = 'company.txt'; $fin1 = fopen($infile1,'r') or exit('檔案$outfile 開啟錯誤!<br>'); $outfile1 = "final.txt"; $fout1 = fopen($outfile1,'w'); while(!feof($fin1)) { $line1 = fgetss($fin1,1024); $line1 = ereg_replace('統一編號',',統一編號,',$line1); $line1 = ereg_replace('核准設立日期',',核准設立日期,',$line1); $line1 = ereg_replace('最近異動日期',',最近異動日期,',$line1); $line1 = ereg_replace('營利事業名稱',',營利事業名稱,',$line1); $line1 = ereg_replace('負責人姓名',',負責人姓名,',$line1); $line1 = ereg_replace('公司/行號聯絡電話',',公司/行號聯絡電話,',$line1); $line1 = ereg_replace('登記資本額',',登記資本額,',$line1); $line1 = ereg_replace('實收資本額',',實收資本額,',$line1); $line1 = ereg_replace(',0','0',$line1); $line1 = ereg_replace(',1','1',$line1); $line1 = ereg_replace(',2','2',$line1); $line1 = ereg_replace(',3','3',$line1); $line1 = ereg_replace(',4','4',$line1); $line1 = ereg_replace(',5','5',$line1); $line1 = ereg_replace(',6','6',$line1); $line1 = ereg_replace(',7','7',$line1); $line1 = ereg_replace(',8','8',$line1); $line1 = ereg_replace(',9','9',$line1); $line1 = ereg_replace('按我查詢公司登記現況','',$line1); $line1 = ereg_replace('公司登記現況','',$line1); $line1 = ereg_replace('現況',',現況,',$line1); $line1 = ereg_replace('資本額\(元)',',資本額(元),',$line1); $line1 = ereg_replace('組織類型',',組織類型,',$line1); $line1 = ereg_replace('地址',',地址,',$line1); $line1 = ereg_replace('營業項目',',營業項目,',$line1); $line1 = ereg_replace('\(查詢',',(查詢',$line1); fwrite($fout1,$line1); } fwrite($fout1,"\n"); fclose($fin1); fclose($fout1); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.149.50 ※ 編輯: Uihc 來自: 61.31.149.50 (05/31 18:26)
文章代碼(AID): #14VMyNVc (Programming)
文章代碼(AID): #14VMyNVc (Programming)