作者buganini (霸格尼尼)
看板PHP
标题Re: [请益] 请问分割双引号的字原问题
时间Tue Dec 19 22:05:19 2006
※ 引述《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)