Ankündigung

Einklappen
Keine Ankündigung bisher.

String zurechtschneiden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • String zurechtschneiden

    Hallo leute,

    ich habe folgendes Problem:

    Ich lese Veranstaltungsinformationen aus einem Textarea in ein String aus.

    Textarea:
    02.4.2011 Erfurt Stadtgarten
    07.4.2011 Berlin Huxley’s
    08.4.2011 Braunschweig Jolly-Joker
    09.4.2011 Magdeburg Kulturwerk-Fichte
    14.4.2011 Hannover Capitol

    daraus wird dann:
    02.4.2011 Erfurt Stadtgarten 07.4.2011 Berlin Huxley�s 08.4.2011 Braunschweig Jolly Joker 09.4.2011 Magdeburg Kulturwerk-Fichte 14.4.2011 Hannover Capitol

    natürlich in einer variablen.

    nun frag ich mich wie ich die daten in so ein fomat bekomme:

    Datum[0] = 02.4.2011
    Stadt[0] = Erfurt
    Location[0] = Stadtgarten

    Datum[1] = 07.4.2011
    Stadt[1] = Berlin
    Location[1] = Huxley�s

    Das Problem ist, dass die Locations einen Doppelnamen haben können wie Jolly Joker und auch die Städte beispielsweise Bad Herzogenau einen doppelten Namen haben können.
    wie bekomme ich da einen sicheren filter rein?
    habe mir schon stundenlang den Kopf zermatert, aber mit fällt einfach nichts ein!

    und auch komisch, dass beim Huxley`s das Hochkomma nicht durch htmlentities entfernt wurde...

    Ich hoff so, dass jemand von euch klugen Köpfen ein wirksamer filter einfällt.

    Vielen Dank schonmal

    Gruß


  • #2
    Du könntest die Informationen durch ein eindeutigeres Trennzeichen trennen als nur durch ein Leerzeichen.

    und auch komisch, dass beim Huxley`s das Hochkomma nicht durch htmlentities entfernt wurde...
    Wieso "entfernt"? Und nein, komisch ist das nicht: PHP: htmlentities - Manual.

    Gruß
    http://hallophp.de

    Kommentar


    • #3
      und welches sollte man da nehmen?

      Kommentar


      • #4
        Üblich wäre ein Semikolon

        Kommentar


        • #5
          ich bevorzuge inzwischen "|"
          http://www.dhsmedia.de
          http://www.deutsch-im-blick.de

          Kommentar


          • #6
            Zitat von memme Beitrag anzeigen
            Hallo leute,

            ich habe folgendes Problem:

            Ich lese Veranstaltungsinformationen aus einem Textarea in ein String aus.
            Du lässt zuviele Informationen in zu wenigen Feldern eingeben. Ein einziges Eingabefeld ermutigt dazu, sich selber Trenner auszudenken (oder es sein zu lassen), jedenfalls entsteht zuviel Freiraum für die Eingabe.

            Wenn du separierte Informationen haben möchtest, frag sie in der Art und Weise ab, wie du sie haben möchtest, d.h. je ein Eingabefeld für Datum, Ort und Partylocation.
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Wenn es so bleiben muss:

              Man kann die Leerzeichen deshalb nicht als Feldtrenner nutzen, weil auch die Daten Leerzeichen enthalten können:

              02.03.2011 Bad Essen Meiers Kneipe
              PHP-Code:
              if ($var != 0) {
                
              $var 0;

              Kommentar


              • #8
                wenn die nun mit einem trennzeichen alla | getrennt sind und keine leerzeichen mehr, wie würde ich die dann aus dem string in mein gewünschtest fpormat bekommen?

                Kommentar


                • #9
                  Wie wärs, wenn DU da wieder erstmal selbst drüber nachdenkst?
                  habe mir schon stundenlang den Kopf zermatert, aber mit fällt einfach nichts ein!
                  --

                  „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                  Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                  --

                  Kommentar


                  • #10
                    PHP: explode - Manual
                    ist dein Freund.
                    PHP-Code:
                    if ($var != 0) {
                      
                    $var 0;

                    Kommentar


                    • #11
                      ja vielen dank, habs nun hinbekommen, hier das ergebnis:
                      eingabe:
                      08.4.2011|Braunschweig|Jolly Joker
                      09.4.2011|Magdeburg|Kulturwerk Fichte
                      PHP-Code:
                      $tourdaten explode("\n"$_POST["tourdaten"]);
                      $anzahltermine count($tourdaten);
                      $i 0;
                      while(
                      $i<$anzahltermine)
                          { 
                          list(
                      $datum[$i],$stadt[$i],$veranstaltungsort[$i]) = explode("|"$tourdaten[$i]);
                          
                      $datum[$i]= htmlentities($datum[$i]);
                          
                      $stadt[$i]= htmlentities($stadt[$i]);
                          
                      $veranstaltungsort[$i]= htmlentities($veranstaltungsort[$i]);
                          } 

                      Kommentar

                      Lädt...
                      X