我有一个sql转储并想循环遍历行,然后更改,删除并插入每行中的特定字段。现在我需要替换所有出现和结束每个字段值的sql ','
。
我只需要帮助解决上一个问题。我需要用逗号分隔符#***#
替换逗号之前和之后带有数字编号的所有逗号。
我找到了这个正则表达式,/(^\d,\d)*$/
但是有些人怎么做不到这个工作!我有包含逗号的文本字段所以我不想替换那些因为
$sqlrows = str_replace(",",'#***#',preg_match('/(^\d,\d)*$/', $sqlrows));
// defines sql dump regex [0-9],[0-9]
答案 0 :(得分:0)
你应该使用preg_replace()而不是像这样的str_replace():
$sqlrows = preg_replace( '/(^\d,\d)*$/', "#***#", $sqlrows );
答案 1 :(得分:0)
“我需要替换所有前后都有数字的逗号 逗号分隔符# * #。“
尝试这种方法:
<?php
$str = '1,2
3,4
';
$str = preg_replace('/(\d),(\d)/', '$1#***#$2', $str);
print $str;
打印:
1#***#2
3#***#4
我找到所有逗号,用数字包围,然后用分隔符替换它们,使用反向引用保持数字完整。