或是这样,
$str = "11 22 33 \"aa bb cc\"";
str_replace(' ','+',strstr($str,"\""));

解决方案 »

  1.   

    $str = '11 22 33 "aa bb cc dd" 33 44 55';
    $str = preg_replace('/".+"/e',"str_replace(' ','+','$0')",$str);
    echo stripslashes($str);
      

  2.   

    最好使用最小匹配,改改:
    $str = '11 22 33 "aa bb cc dd" 33 44 55 "11 22 33"';
    $str = preg_replace('/".+?"/e',"str_replace(' ','+','$0')",$str);
    echo stripslashes($str);