-1

我想从字符串中删除“,”

$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

4 回答 4

3

放弃 for 循环:

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

文档

于 2013-11-10T03:33:25.963 回答
2

我不知道你是否认真地在这里使用 for 循环。

只需使用str_replace替换来替换所有出现的搜索。

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

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

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

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

于 2013-11-10T03:36:10.343 回答
1

只需使用

$x = str_replace(',', '', $x); 
echo $x;
于 2013-11-10T03:49:27.293 回答
1
$x="123,456,789"; 
$pattern = '/,/'; 
$replace = ''; 
$x= preg_replace($pattern, $replace, $x);
echo $x;

或者

     $x = str_replace (',','',$x);
     echo $x;
于 2013-11-10T03:38:30.317 回答