alle Steuerzeichen entfernen ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
ausdruck
aussehen
code
einzeln entfernen
entfernen
ersetzen
funktion
funktioniert code
grenze
machen
manual
nehmen
string
suchen
unterschied
url
vorkommen
ziehen
zweite argument
-
Hallo
ich möchte aus einem String alle Steuerzeichen (Zeilenumbruch, Tabulator, etc) entfernen
bzw. durch ein Leerzeichen ersetzen.
wie ist es "richtig" ?
... wie muss der "Pattern" aussehen, wie oft \s escapen (mit Backslash) ?
... muss ich preg_replace() nehmen oder genügt auch str_replace() dafür ?
$str = preg_replace('/\s/', ' ', $str); $str = preg_replace('/(\\\s)/', ' ', $str); $str = str_replace("\s", ' ', $str);
oder doch besser die Steuerzeichen einzeln entfernen ?
$str = str_replace("\r", ' ', $str); $str = str_replace("\n", ' ', $str); $str = str_replace("\t", ' ', $str);
und ... macht es dabei einen Unterschied, ob der String in utf-8 oder iso-8859-1 vorliegt ?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
emoebel schrieb:
oder einfach so, wie php.net es vorschlägt:
Hallo
ich möchte aus einem String alle Steuerzeichen (Zeilenumbruch, Tabulator, etc) entfernen
bzw. durch ein Leerzeichen ersetzen.
wie ist es "richtig" ?
... wie muss der "Pattern" aussehen, wie oft \s escapen (mit Backslash) ?
... muss ich preg_replace() nehmen oder genügt auch str_replace() dafür ?
$str = preg_replace('/\s/', ' ', $str); $str = preg_replace('/(\\\s)/', ' ', $str); $str = str_replace("\s", ' ', $str);
oder doch besser die Steuerzeichen einzeln entfernen ?
$str = str_replace("\r", ' ', $str); $str = str_replace("\n", ' ', $str); $str = str_replace("\t", ' ', $str);
und ... macht es dabei einen Unterschied, ob der String in utf-8 oder iso-8859-1 vorliegt ?
$str = str_replace(array("\r", "\n", "\t"), ' ', $str);
und vom ganzen
einfach abstand halten!preg_*()
Beitrag zuletzt geändert: 26.9.2013 15:35:20 von czibere -
ok, Danke
ich dachte bei str_replace muss dann das zweite Argument auch ein (gleich großes) Array sein
$str = str_replace(array("\r", "\n", "\t"), array(' ', ' ', ' '), $str);
aber wenn es so auch funktioniert,
$str = str_replace(array("\r", "\n", "\t"), ' ', $str);
um so besser :)
-
emoebel schrieb:
es heißt dort
ich dachte bei str_replace muss dann das zweite Argument auch ein (gleich großes) Array sein ...
was nur andeuten will, dass überall wo mixed steht, kann (auch ;) ein array stehen, muss aber nicht. es gilt für alle funktionen, wo etwas vergleichbares steht.mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
thundernetworks schrieb:
ich habe vielleicht etwas zu streng formuliert: 'finger weg'. was wichtig ist, ist nur so viel: überall, wo man mit str_* eine lösung erreichen kann, sollte nicht preg_* angestrebt werden (resource-schlucker!).
Um die Grenze zwischen str_* und preg_* - Funktionen zu ziehen:
str_replace ersetzt alle Vorkommen eines Strings in einem anderen String
preg_replace sucht und ersetzt einen regulären Ausdruck (RegEx)
- beides aus der PHP Manual (leicht verändert) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage