拆分合并Sql语句字符串 是这个意思吗:var ary = $v.split(',');//拆分var str = ary.join(',');//复原 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现已将VALUES部分取出放到以字符串变量,如:$v="'b9',NULL,'he,p',1,'d-0',1,11,'4d'"================================================$v的格式不就符合标准了吗?$sql = "INSERT INTO tablename (field1,field2,field3,field4,field5,field6,field7,field8) VALUES (".$v.")";:) to li1229363() :我想对sql语句进行过滤,例如:在我得到sql语句字符串后,我想去掉field7及field7所对应值11,使sql语句变成$sql = "INSERT INTO tablename (field1,field2,field3,field4,field5,field6,field8) VALUES ('b9',NULL,'he,p',1,'d-0',1,'4d')";to:Amwpfiqvy(给我分吧,让我升仙) :当字段之中存在逗号的时候,直接以逗号分割是有错误的,例如:'he,p' to foolbirdflyfirst(what the hell is going on?) :我还要对$v="'b9',NULL,'he,p',1,'d-0',1,11,'4d'"进行其他的操作呢,必须将它拆分成数组在转换回来才可以 呕,是我没看清你的需求请确认数据格式尝试以下分割字符$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,'he,p',1,'d-0',1,11,'4d'"$t = preg_split('/,(?!\w+\',?)/i',$v);此方法可以满足以上要求,如果有多个逗号号怎么匹配呢?例如:$v="'b9',NULL,'h,3,he,p',1,'d-0',1,11,'4d'" <?php$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 '<pre>';print_r($res);?> 如果各字符中没有其他","号用splity就可以了 怎么分割:$v="a='b9',b=NULL,c='h,3 = he,p',d=1,e='133.033.133.133',f=1,g=11,h='4d'";的呢? 看socket 好多东西不明白 PHP语言 网页上如何获取图片 要具体点的 PHP视频网站点播到一半跳回到开始? 请问目前写PHP工资都是多少呢? 求linux下PHPunit 安装配置 求 php 显示flash幻灯广告代码 PHP接口的一个小问题 新手问一个关于php连接数据库的问题 大家千万别用PHPDesigner8 的项目替换,多说是泪,改整个站点中! 求助大佬,切换MySQL版本出现问题! 找精通mysql+php高手 论坛数据转换 mysql导入数据到sqlserver中 如何获得:后面的字符?
================================================
$v的格式不就符合标准了吗?$sql = "INSERT INTO tablename (field1,field2,field3,field4,field5,field6,field7,field8) VALUES (".$v.")";:)
我想对sql语句进行过滤,例如:在我得到sql语句字符串后,我想去掉field7及field7所对应值11,使sql语句变成$sql = "INSERT INTO tablename (field1,field2,field3,field4,field5,field6,field8) VALUES ('b9',NULL,'he,p',1,'d-0',1,'4d')";to:Amwpfiqvy(给我分吧,让我升仙) :
当字段之中存在逗号的时候,直接以逗号分割是有错误的,例如:'he,p'
请确认数据格式尝试以下分割字符
$v="'b9',NULL,'he,p',1,'d-0',1,11,'4d'"
$t = preg_split('/,(?!\w+\',?)/i',$v);
print_r($t);
合并
echo implode(',',$t);
$t = preg_split('/,(?!\w+\',?)/i',$v);此方法可以满足以上要求,如果有多个逗号号怎么匹配呢?例如:
$v="'b9',NULL,'h,3,he,p',1,'d-0',1,11,'4d'"
$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 '<pre>';
print_r($res);
?>
用splity就可以了