php bir dize tüm boşlukları tespit olmaz

2 Cevap

Ben diğer bazı karakter ile tüm aralıklı değiştirmek istediğiniz bir POST şeklinde gelen bir dize var.

İşte yaptım o:

$cdata = str_replace(" ","#",$cdata);

Ve ben bu var.

--- Contact-ID#=#148 [10274da8]#Sinhronizācija#=#private [1000137d]#Uzvārds#=#Zom [1000137c]#Vārds#=#Tana [1000130e]#Tālrunis#=#3333 [1000130e]#Mobilais#=#5555

Gördüğünüz gibi, hala var ... "[10" önce aralıklı. Herhangi bir fikir ne sorun olabilir?

2 Cevap

Bir satır karakteri var, \n, çünkü çoğunlukla olasıdır. Ilk param str_replace yerine bir karakter dizisi olabilir. Ayrıca bir sekme karakter olabilir. Ya da bunun yerine tüm boşluk karakterleri değiştirmek için preg_replace kullanın.

EDIT:

$chars_to_replace = array(" ", "\t","\n","\r","\o","\x0B");
$new_string = str_replace($chars_to_replace, "#", $cdata);

Sen preg_replace burada gerekir:

$cdata = preg_replace('/\s+/', '#', cdata);