Heiko: Enter (Sonderzeichen) einfügen

Hallo Gemeinde,
ich möchte gerne in einem <textarea> ein Sonderzeichen einfügen.

Ich speichere eine Torfolge mit verschiedenen Inhalten und gebe als Trennzeichen die Raute '#' ein.

Sieht in etwa so aus:
0:1|5|Starke|(Eigentor)#0:2|23|Montabell|

Es gibt also 3 Trenner (Min, Torschütze und Bemerkung wenn Eigentor - 11er usw) sowie am Ende jeder Torinformation ein #.

Wenn ich den Datensatz aber ändern muss (wegen Schreibfehler), so muss ich jedesmal die # entfernen und seperat ein Enter einfügen.

  
$tofo = $_POST['eingabe_tofo'];  
$erse = '/\r/';  
$such = '#';  
$tore = preg_replace($such, $erse, $tofo);  

führt leider zu einem Fehler.

Könnt Ihr mir helfen?

LG Heiko

  1. Hi,

    führt leider zu einem Fehler.

    den Du uns aus welchem Grund verheimlichst?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      führt leider zu einem Fehler.

      den Du uns aus welchem Grund verheimlichst?

      Cheatah

      Ups:
      Warning: preg_replace() [function.preg-replace]: No ending delimiter '#' found in /var/www/........./terminverwaltung.php on line 120

      Zeile 120:
      $tore = preg_replace($such, $erse, $tofo);

      LG Heiko

      1. Hi,

        Warning: preg_replace() [function.preg-replace]: No ending delimiter '#' found in /var/www/........./terminverwaltung.php on line 120

        tja, '#' ist halt keine gültige Regular Expression. Bist Du übrigens sicher, dass Du die gefundenen Trennzeichen durch einen Slash, einen Macintosh-Umbruch und noch einen Slash ersetzen möchtest?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi Cheatah,
          Also ich möchte, die Raute (hinter jedem 'Tor') weg haben und eventuell das nächste in einer neuen Zeile.

          Der Grund:
          Wenn ich ein Datensatz bearbeiten muß speichert er ## ab, wenn ich es nicht per Hand entferne was bei 8 oder mehr Toren Zeitaufwändig ist.

          Ausgabe soll so dann sein:

          0:1|5|Starke|(Eigentor)
          0:2|23|Montabell||
          ......
          ......
          6:3|81|Carolus|(Eigentor)

          LG Heiko

          1. Hi,

            Also ich möchte, die Raute (hinter jedem 'Tor') weg haben und eventuell das nächste in einer neuen Zeile.

            Erlaubnis erteilt. Genügend Hinweise dazu, was Du in Deinen bisherigen Versuchen falsch gemacht hast, hast Du bekommen, solltest es also jetzt entweder lösen oder zumindest ein gutes Stück weiter kommen.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,

    $tore = preg_replace($such, $erse, $tofo);

    Warum nutzt Du nicht einfach "str_replace"?

    Grüße Basti

    1. Hi Basti,
      gute Idee aber dann erscheint die Ausgabe in der TEXTAREA
      so:

      0:1|5|Starke|(Eigentor)/\r/0:2|23|Montabell .......

      also es wird kein "ENTER" eingefügt".

      LG Heiko

      1. Hallo Heiko,

        0:1|5|Starke|(Eigentor)/\r/0:2|23|Montabell .......
        also es wird kein "ENTER" eingefügt".

        kein Wunder, wenn du die Zeichenfolge "/\r/" einfügst.

        Wozu die Slashes "/"? Als Begrenzer für eine RegEx sind sie üblich, aber die Stringfunktionen arbeiten mit den reinen Nutzdaten.

        Und was bezeichnest du als "ENTER"? Zeilenumbrüche werden auf unterschiedlichen Systemen auch mit unterschiedlichen Steuerzeichen oder Kombinationen dargestellt, das ist ein uraltes Thema ("\n" in Unix-artigen Umgebungen, "\r" in alten Mac-Systemen, "\r\n" auf DOS/Windows).
        Im HTML-Umfeld gilt üblicherweise "\n" als Zeilenumbruch.

        So long,
         Martin

        --
        Husten kann böse Folgen haben.
        Besonders im Kleiderschrank.
  3. Hi,

    $tore = preg_replace($such, $erse, $tofo)

    parameter: regEx, Ersetzung, String
    '#' ist keine regEx.

    Ansonsten, wie bereits erwähnt, würde ich hier '\n' einsetzen.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.