2013-06-24 42 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 

我發現所有的逗號,由數字所包圍,並與你分離器替換它們,保持數字完整使用反向引用。

相關問題