* strong text *我有一個像這樣的字符串「x」,「x,y」,「x,y,h」 我想用戶preg替換刪除逗號內的雙重qutations和返回的字符串爲PHP preg_replace
「X」, 「XY」, 「XYH」
* strong text *我有一個像這樣的字符串「x」,「x,y」,「x,y,h」 我想用戶preg替換刪除逗號內的雙重qutations和返回的字符串爲PHP preg_replace
「X」, 「XY」, 「XYH」
你可以只使用常規的更換。
$mystring = str_replace(",", "", $mystring);
你不需要preg_replace()
這裏徘徊無論可能,你應該儘量避免它
$string = str_replace(',', '', $string);
我用下面,我已經找到了比通常更快的正則表達式是這種類型的更換
的$string = '"x", "x,y" , "x,y,h"';
$temp = explode('"',$string);
$i = true;
foreach($temp as &$value) {
// Only replace in alternating array entries, because these are the entries inside the quotes
if ($i = !$i) {
$value = str_replace(',', '', $value);
}
}
unset($value);
// Then rebuild the original string
$string = implode('"',$temp);
我得到了相反的結果:'「x」「x,y」「x,y,h」'。 – 2011-03-15 09:26:15
@Michiel - 在這種情況下,更改$ i = false的初始化;到$ i = true; – 2011-03-15 09:28:00
@Michiel - 謝謝指出逆轉 – 2011-03-15 09:30:53
這將很好地工作:http://codepad.org/lq7I5wkd
<?php
$myStr = '"x", "x,y" , "x,y,h"';
$chunks = preg_split("/\"[\s]*[,][\s]*\"/", $myStr);
for($i=0;$i<count($chunks);$i++)
$chunks[$i] = str_replace(",","",$chunks[$i]);
echo implode('","',$chunks);
?>
他不想刪除所有逗號。請閱讀這個問題。 – 2011-03-15 09:14:14