Nasıl $% verilen bir dizeden * & ^ # @ hariç tutabilirim?
Bu deneyin:
$str= preg_replace("/[^a-zA-Z0-9_\-\/=]+/", "", 'your string here');
Bu, tek ortak olarak kabul edilebilir karakter sağlar. Bahsettiğiniz karakter içermez.
Yoksa siz de deneyebilirsiniz:
$str = '@ # $%^&*';
$new_str = str_replace(array('@', '#', '$', '%', '^', '&', '*'), '', $str);
print $new_str;
Kullanarak değiştirmek için birden fazla karakter belirtmek str_replace
a> yapabilirsiniz:
$s= 'what a @bad #$%^ string *';
$s= str_replace(array('@', '#', '$', '%', '^', '%', '*'), '', $s);
echo($s);
Bu çıktıya olacaktır:
what a bad string
$thisIsaVeryBadStringIndeed = "@wh#at %a b^a&d @#$%^&*string";
$unWantedBadCharacters = "@#$%^&*";
$chars = preg_split('//',$unWantedBadCharacters);
for ($i=0;$i<strlen($unWantedBadCharacters);++$i)
$pairs[$unWantedBadCharacters{$i}] = '';
$stringWithoutBadCharacters = strtr($thisIsaVeryBadStringIndeed,$pairs);
Bu durum, hızlı bir yöntemlerden biridir. Eğer sadece bir kez çiftleri dizi oluşturursanız.