Re: [請益] 請問分割雙引號的字原問題

看板PHP作者 (霸格尼尼)時間19年前 (2006/12/19 22:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
※ 引述《bcse (Lvx ex Caelis)》之銘言: : ※ 引述《jimshsu (jims)》之銘言: : : 感謝大家回應 : : 其實我是想到這樣的可能 : : 所以才需要使用者用符號區隔 : : 例如 人名 : : "John Poter" "Mysql"這樣的查詢 : : 他若不區隔的話 : : 可能會被拆成三個字串來查詢 : : 不知道大家在設計搜尋是否有這問題? : 我有寫過一個小 function 來處理逗號分隔字串 : 所謂逗號分隔字串就是 John Poter, Mysql 這樣 : function csv2array($str) { : $str = trim($str); : $str = preg_replace('/\s*,\s*/', ',', $str); : $array = explode(",", $str); : return $array; : } : 不過它有個顯著的缺點,字串中不能有逗號 : (我目前的資料還不會碰到問題所以不想修XD) : 如果有人叫作 John Poter, Sr 或 John Poter, Jr 那就會被分成兩個人了 XD function lala($str){ //找出雙引號包住的字 preg_match_all('/"(.*?)"/',$str,$res); //print_r($res[1]); //找出其餘空白分隔的字 $str=preg_replace('".*?"','',$str); $str=trim($str); $key=array_merge($res[1],preg_split(' +',$str)); return $key; } CSV對引號,逗號好像有比較複雜的跳脫方式 用excel存存看就知道了 -- La vida es pura paison La vida es competicion Allez, Allez, Allez!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.218.176 ※ 編輯: buganini 來自: 140.114.218.176 (12/19 22:20) ※ 編輯: buganini 來自: 140.114.218.176 (12/19 22:26) ※ 編輯: buganini 來自: 140.114.218.176 (12/19 22:28)
文章代碼(AID): #15X_45yj (PHP)
文章代碼(AID): #15X_45yj (PHP)