我现在有很多类似这样的一段文字:
要求经过处理后变成数组:
数组:
a[0] = '登机航站楼'
a[1] = ':'
a[2] = '北京国际机场'
a[3] = '2'
a[4] = '号航站楼'
a[5] = '<br>'
a[6] = '免费行李'
a[7] = ':'
a[8] = '20'
a[9] = '公斤'
a[0] = '<br>'
.......
也就是说把各种符号,数字,以及被数字符号 分开的汉字,分别挨秩序存入到数组中。(换行就存<br>)
1 利用非中文将字符串,切割成数组。
2 并将非中文将字符串也插入到数组中去
有以下两种方法实现:
一:
$str = '登机航站楼:北京国际机场2号航站楼
免费行李:20公斤
误机费:如无法搭乘当次航班应提前24小时通知取消记录
改期条件: 更改后的出发日期必须在2010-2-10到2010-6-30之间在最长停留期限内,改期免费;
退票条件:完全未使用收取人民币300元/次;部分使用不允许
儿童折扣:75
停留期限0天-6月';
$str = str_replace("\n", '<br>', $str);
$str = preg_replace('/([\d]+|\:|\-|\<br\>)/', " $1 ", $str);
$arr = preg_split('/[\s]+/', $str);
print_r($arr);
二:
$str = '登机航站楼:北京国际机场2号航站楼
免费行李:20公斤
误机费:如无法搭乘当次航班应提前24小时通知取消记录
改期条件: 更改后的出发日期必须在2010-2-10到2010-6-30之间在最长停留期限内,改期免费;
退票条件:完全未使用收取人民币300元/次;部分使用不允许
儿童折扣:75
停留期限0天-6月';
$str = str_replace("\n", '<br>', $str);
preg_match_all("/[\x80-\xff]+|[-\d]+|[\x20-\x7f]+/", $str, $reg);
print_r($reg[0]);