2013-06-24 96 views
0

我得到了一个SQL转储并希望循环遍历行,然后更改,删除和插入每行中的特定字段。现在我需要替换所有出现的sql ','开始和结束每个字段的值。php sql,正则表达式数字逗号数字

我只需要帮助我的最后一个问题。我需要用逗号分隔符#***#来替换逗号前后的所有逗号。

我发现这个正则表达式,/(^\d,\d)*$/,但一些它如何做不到这个工作!我有一个包含逗号所以我不想替换那些ofcause

$sqlrows = str_replace(",",'#***#',preg_match('/(^\d,\d)*$/', $sqlrows)); 
// defines sql dump regex [0-9],[0-9] 

回答

0

您应该使用的preg_replace()的文本字段,而不是str_replace()函数是这样的:

$sqlrows = preg_replace('/(^\d,\d)*$/', "#***#", $sqlrows); 
+0

这样做的伎俩!感谢你们两位 – Jakob

0

“我需要替换前后有数字的所有逗号 用分隔符#逗号#*#。“

试试这个办法:

<?php 
$str = '1,2 
3,4 
'; 
$str = preg_replace('/(\d),(\d)/', '$1#***#$2', $str); 

print $str; 

打印:

1#***#2 
3#***#4 

我发现所有的逗号,由数字所包围,并与你分离器替换它们,保持数字完整使用反向引用。

相关问题