拆分合并Sql语句字符串
有一sql字符串, 
 $sql   =    "INSERT   INTO   tablename   (field1,field2,field3,field4,field5,field6,field7,field8)   VALUES   ( 'b9 ',NULL, 'he,p ',1, 'd-0 ',1,11, '4d ') "; 
 现已将VALUES部分取出放到以字符串变量,如:$v= " 'b9 ',NULL, 'he,p ',1, 'd-0 ',1,11, '4d ' " 
 问:怎样将$v拆分为数组,再合并数组后还是原样的呢?(注意单引号和逗号) 
------解决方案--------------------呕,是我没看清你的需求 
 请确认数据格式   
 尝试以下分割字符 
 $v= " 'b9 ',NULL, 'he,p ',1, 'd-0 ',1,11, '4d ' " 
 $t = preg_split( '/,(?!\w+\ ',?)/i ',$v); 
 print_r($t); 
 合并 
 echo implode( ', ',$t);   
------解决方案--------------------  $v= " 'b9 ',NULL, 'h,3,he,p ',1, 'd-0 ',1,11, '4d ' "; 
 $pattern =  "/( '[^ ']* ')|,?([^ ',]+),?/ "; 
 $res = array(); 
 if (preg_match_all($pattern, $v, $match)) 
 { 
 	foreach($match[1] as $key=> $val) 
 	{ 
 		if ($val ==  ' ') 
 		{ 
 			$res[$key] = $match[2][$key]; 
 		} 
 		else 
 			$res[$key] = $val; 
 	} 
 } 
 echo  ' 
  '; 
 print_r($res); 
 ?>