最好的结果 请下载 附件 ,。。。
<meta charset="utf-8"> <?PHP header("Content-type: text/html; charset=utf-8"); $a='110000北京 110100北京 110101东城区 110102西城区 110105朝阳区 110106丰台区 110107石景山区 110108海淀区 110109门头沟区 110111房山区 110112通州区 110113顺义区 ............. ..........'; /* 行政划分名: 旗--忽略 市 区 县 盟 州 */ $b = explode("\n",$a); $new = array(); foreach($b as $row){ $x = $row; $code = trim(substr($x,0,6)); $name = trim(substr($x,6)); $k_2 = substr($code,4); if(strlen($name)>6 && $k_2 == '00'){ if(preg_match("/市$/", $name)){ $name = preg_replace("/市$/","", $name); } if(preg_match("/州$/", $name) && strlen($name)>6){ $name = preg_replace("/州$/","", $name); } } $new[$code] = $name; } foreach($new as $k => $v){ $k_4 = substr($k,0,4); $k_2 = substr($k,4); if($k_2 != '00'){//如果是子级 //判断 本级 前两个字 是否 和 父级 前连个字一样 if(mb_substr($v,0,6) != mb_substr($new[$k_4.'00'],0,6)){ if(strlen($v)>6){ if(preg_match("/市$/", $v)){ $new[$k] = preg_replace("/市$/","", $v); } if(preg_match("/区$/", $v) && substr_count($v,'市辖区') == 0 && substr_count($v,'矿区') == 0 && substr_count($v,'市区') == 0 && substr_count($v,'新区') == 0 ){ $new[$k] = preg_replace("/区$/","", $v); //echo '__'.$name.'<HR>'; } if(preg_match("/县$/", $v)){ $new[$k] = preg_replace("/县$/","", $v); //echo '__'.$name.'<HR>'; } } }else{// 如果本级 前两字 = 父级前两字 //if($k_2 == '01' && preg_match("/市$/", $v)){ //$new[$k] = preg_replace("/市$/","市区", $v); //} } } } foreach($new as $k => $v){ echo '$re["'.$k.'"] = "'.$v.'";'.'<BR>'; }