2016-03-20 16 views
1

I sauber Funktion für spezielle caracter aus String entfernen, aber diese Funktion auch Türkisch caracter (I, G, S, C, ö) aus stringPHP ersetzen Sonderzeichen aus einem String

function clean($string) { 
    $string = str_replace(' ', ' ', $string); 
    $string = preg_replace('/[^A-Za-z0-9\-]/', ' ', $string); 

    return preg_replace('/-+/', '-', $string); 
} 
Entfernen

Wie kann ich es beheben?

+2

Es macht genau das, was Sie ihm gesagt haben - entfernen Sie alle Zeichen, die nicht A-Z, a-z, 0-9 oder '-' sind. Versuchen Sie es zu sagen, um Buchstaben nicht zu entfernen, z. '\ P {L}' –

+0

Zum Beispiel: INPUT TEXT: Lisede sınıf ar'kad'aşım OUTPUT: Lisede s n f arkada m ich brauche: Lisede sınıf arkadaşım –

Antwort

3

diese Zeichen hinzufügen Sie behalten möchten Preg, fügen Sie auch Ober Fällen, wenn neededç ich Ihren Code bearbeitet:

function clean($string) { 
    $string = str_replace(' ', ' ', $string); 
    $string = preg_replace('/[^A-Za-z0-9\-ığşçöüÖÇŞİıĞ]/', ' ', $string); 

    return preg_replace('/-+/', '-', $string); 
} 

Test:

$str='Merhaba=Türkiye 12345 çok çalış another one ! *, [email protected]_'; 
var_dump(clean($str)); 
//Output: string(57) "Merhaba Türkiye 12345 çok çalış another one " 
+0

Danke mein Freund Sie mich von großen troble sparen –

0

Vielleicht können Sie versuchen:

function clean($string) { 
    $string = str_replace(' ', ' ', $string); 
    $string = preg_replace('/[^A-Za-z0-9ĞİŞığşçö\-]/', ' ', $string); 

    return preg_replace('/-+/', '-', $string); 
} 
0

Welche Sonderzeichen möchten Sie ersetzen? Vielleicht ist es einfacher, ein Paradigma der Reinigung von allem außer ... zu etwas Konkretem zu ändern.

<?php 

function garbagereplace($string) { 

$garbagearray = array('@','#','$','%','^','&','*'); 
$garbagecount = count($garbagearray); 
for ($i=0; $i<$garbagecount; $i++) { 
$string = str_replace($garbagearray[$i], '-', $string); 
} 

return $string; 
} 

echo garbagereplace('[email protected]#$text%^&*text'); 

?>