变通一下吧,写法很多
$str='广东省广州市';echo getCity($str);
function getCity($add){
    if(stripos($add,'省')>-1){
        if(preg_match_all('/省([\s\S]*)/',$add,$matchArr)){
            return ($matchArr[1][0]);
        }
    }else{
        return $add;
    }}

解决方案 »

  1.   

    $str = '广东省广州市白云区';
    preg_match_all('/.+(?:省|市)/', $str, $res);
    print_r($res);$str = '海口市xxx';
    preg_match_all('/.+(?:省|市)/', $str, $res);
    print_r($res);Array
    (
        [0] => Array
            (
                [0] => 广东省广州市
            ))
    Array
    (
        [0] => Array
            (
                [0] => 海口市
            ))