我拿到的的数据是,
0 10000001 mx 张三
1 10000002 ux 李四
2 1000003 ix 王五
那么,我们能不能用PHP的正则做出格式化文本,
就是SQL:
INSERT INTO AGNTCODE VALUES (‘0’,‘张三’,‘10000001',’mx');
INSERT INTO AGNTCODE VALUES (‘1’,‘ 李四’,‘10000002',’ux');
INSERT INTO AGNTCODE VALUES (‘2’,‘ 王五’,‘10000003',’ix');
急,请求救
---------------------------------------------------------------
1
2$s = "0 10000001 mx 张三
31 10000002 ux 李四
42 1000003 ix 王五
5";
6$s = str_replace(" "," ",$s); // 滤出除可能的全角空格
7preg_match_all("/(\d+)\s+(\d+)\s+(\w+)\s([\x80-\xff\w]+)/",$s,$regs);
8
9foreach($regs[1] as $k=>$v)
10printf("INSERT INTO AGNTCODE VALUES ('%s','%s','%s','%s');\n"
11,$v,$regs[4][$k],$regs[2][$k],$regs[3][$k]);
12
---------------------------------------------------------------
唠叨兄的正则就是强 。 搂住是要这个效果吗?
1
2$s = "0 10000001 mx 张三
31 10000002 ux 李四
42 1000003 ix 王五
5";
6$s = str_replace(" "," ",$s); // 滤出除可能的全角空格
7preg_match_all("/(\d+)\s+(\d+)\s+(\w+)\s([\x80-\xff\w]+)/",$s,$regs);
8
9foreach($regs[1] as $k=>$v)
10printf("INSERT INTO AGNTCODE VALUES ('%s','%s','%s','%s');\n"
11,$v,(str_repeat(' ',$v*6)).$regs[4][$k],$regs[2][$k],$regs[3][$k]);
12