拆分合并Sql语句字符串,该如何处理
程序员文章站
2024-02-14 22:20:58
...
拆分合并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 '
有一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);
?>相关文章
相关视频