从字符串中删除“,”

时间:2013-11-10 03:27:28

标签: php

我想从字符串

中删除“,”
$x="123,456,789";
for($i=0; $i<10; $i++){
    if($x[$i]==",") $x[$i]="";
}
echo $x; //123456789 (Correct)

echo "<input type='text' value='$x'/>" //123?456?789 (Wrong)

打印“?”在黑匣子而不是“,”

查看此图片http://postimg.org/image/rky151535/

4 个答案:

答案 0 :(得分:3)

抛弃for循环:

$x = str_replace (',','',$x);

Docs

答案 1 :(得分:2)

我不知道你是否认真使用for循环。

只需使用str_replace将所有匹配的搜索替换为替换。

$x = str_replace (',', '', $x);

无论如何,如果您只显示数字并想要删除所有其他内容,请使用preg_replace

$x = preg_replace('/[^0-9]/', '', $x);

上面的行用空字符串替换除0-9之外的所有内容。

答案 2 :(得分:1)

$x="123,456,789"; 
$pattern = '/,/'; 
$replace = ''; 
$x= preg_replace($pattern, $replace, $x);
echo $x;

     $x = str_replace (',','',$x);
     echo $x;

答案 3 :(得分:1)

只需使用

$x = str_replace(',', '', $x); 
echo $x;