Entfernen von steuerzeichen aus einer UTF-8-string in PHP

So, ich bin das entfernen von steuerzeichen (tab, cr, lf, \v und alle anderen unsichtbaren chars) in der client-Seite (nach Eingabe), aber da der client nicht vertrauenswürdig, ich habe Sie entfernen, um in den server zu.

also laut diesem link http://www.utf8-chartable.de/

den control-Zeichen sind von x00 bis 1F und von 7F bis 9F.
also mein client (javascript) - control-char-Abbau Funktion:

return s.replace(/[\x00-\x1F\x7F-\x9F]/g, "");

und mein php (server) control-char-Abbau Funktion:

$s = preg_replace('/[\x00-\x1F\x7F-\x9F]/', '', $s);

Nun scheint dies zu Problemen mit internationalen utf8 chars wie ς (xCF-x82) in PHP nur (weil x82 innerhalb der zweiten Sequenz Gruppe), wird die javascript-Entsprechung erstellt keine Probleme.

Nun meine Frage, sollte ich entfernen Sie die steuerzeichen von 7F bis 9F? Nach meinem Verständnis diejenigen, die Sequenzen von 127 bis 159 (7F bis 9F) offensichtlich kann ein Teil eine gültige UTF-8-string?

auch, vielleicht sollte ich nicht auch filtern 00 bis 31 steuerzeichen, weil auch einige dieser Charaktere kann sich in einigen seltsamen (japanischen? chinesischen?) aber gültige utf-8-Zeichen ?

InformationsquelleAutor MirrorMirror | 2014-01-22
Schreibe einen Kommentar