kostenloser Webspace werbefrei: lima-city


alle Steuerzeichen entfernen ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    emoebel

    emoebel hat kostenlosen Webspace.

    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 ?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. emoebel schrieb:
    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 ?

    oder einfach so, wie php.net es vorschlägt:
    $str = str_replace(array("\r", "\n", "\t"), ' ', $str);
    und vom ganzen
    preg_*()
    einfach abstand halten!

    Beitrag zuletzt geändert: 26.9.2013 15:35:20 von czibere
  4. Autor dieses Themas

    emoebel

    emoebel hat kostenlosen Webspace.

    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 :)
  5. t*************s

    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)
  6. emoebel schrieb:
    ich dachte bei str_replace muss dann das zweite Argument auch ein (gleich großes) Array sein ...
    es heißt dort
    mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
    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.

    thundernetworks schrieb:
    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)
    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!).
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!