Ankündigung

Einklappen
Keine Ankündigung bisher.

String bearbeiten dass nur das erste Wort zurückgegeben wird

Einklappen

Neue Werbung 2019

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

  • String bearbeiten dass nur das erste Wort zurückgegeben wird

    Hallo,

    wenn ich einen String habe der z.B: "Berlin Kreuzberg" lautet, möchte ich gern, dass ich nur Berlin zurück bekomme. Geht das?
    Da das erste Wort ja nicht immer gleich ist, kommt substr() ja nicht in Frage...

    Kann man das recht einfach realisieren?

    Gruß
    Thomas

  • #2
    ja das kann man! du musst einfach das wort vor dem leerzeichen erkennen. hier ein kleines skript

    PHP-Code:
    <?php
    $string 
    "Berlin Kreuzberg"//String
    $wort explode(" "$string);  //erstes Wort
    echo $wort[0]; //wort ausgeben
    ?>
    $wort[0] ist das erste wort, also "Berlin". $wort[1] wäre dann "Kreuzberg"



    phyton :wink:

    Kommentar


    • #3
      Allerdings ist $wort ein Array keine einfache Variable mehr.
      Da Arrays automatisch bei 0 ihren Index erstellen, ist der erste Teil des Strings
      über den index "0" zu erreichen. "Richtig" wäre also:
      PHP-Code:
      <?php
      $sString 
      "Berlin Kreuzberg"//String
      $aWort explode(' '$sString);  //erstes Wort
      echo $aWort['0']; //wort ausgeben  (Berlin)
      [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
      — The best things in life aren't things[/FONT]

      Kommentar


      • #4
        hyper genau..... also bitte! bei mir klappts...


        außerdem hab ich jetzt auch was zum meckern: du hast vergessen php zu schließen "?>"!

        Kommentar


        • #5
          aber das ist sowas
          Danke!

          Kommentar


          • #6
            *klugscheiß*

            - genaugenommen ist der Index des Arrays meines Wissens vom Typ integer (daher der Name numerisches Array), weshalb bei $aWort['0']; schon die erste implizite Typumwandlung nötig wird. Ist also auch nicht 1000%ig korrekt. Allerdings macht hier nicht mal var_dump () einen Unterschied.

            - schließende Klammern sind in einem php Script nicht erforderlich, in einem reinen php Script ist es sogar sinnvoll, das ?> nicht zu setzen. Z.B. wenn es von einem anderen Script eingebunden wird, bevor Sessions oder andere Header verarbeitet werden.

            - für lange Strings finde ich die Lösung (zwar bequem aber) überdimensioniert.
            Code:
            $string = trim ($string);
            echo substr ($string , 0 , (strpos ($string , ' ')));
            führt hier genauso zum Ziel
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              -----(¨*•.´¸.(¨´•.¸`•.¸,*woOow*¸.•´¸.•´¨) ¸´.•*¨)---------
              (Ich habe 20min gesucht bis ich DAS gefunden habe )

              phpfriend.de/forum >> Da werden Sie immer einmal mehr gehelft!

              btw.
              weshalb bei $aWort['0']; schon die erste implizite Typumwandlung nötig wird.
              wie wärs den 1000%ig korrekt?
              [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
              — The best things in life aren't things[/FONT]

              Kommentar


              • #8
                Code:
                $aWort[0]
                Krieg ich jetz nen Keks?
                Nicht jeder Fehler ist ein Bug.

                Kommentar


                • #9
                  *Keks von Mutti geb*

                  Man bin ich blöd, hatt mich aber wirklich interessiert
                  [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                  — The best things in life aren't things[/FONT]

                  Kommentar


                  • #10
                    Da das erste Wort ja nicht immer gleich ist, kommt substr() ja nicht in Frage...
                    Und auch mit substr() gehts:
                    PHP-Code:
                    <?php
                    $string 
                    "Berlin Kreuzberg"//String
                    echo substr$string0strpos($string" ") ); // 1. wort ausgeben
                    ?>

                    Kommentar


                    • #11
                      explode() bietet ein nettes Feature, das von Threadstarter genutzt werden könnte:
                      http://de.php.net/explode
                      Enthält delimiter einen Wert, der nicht in string vorkommt, gibt explode() ein Array zurück, das den string als einziges Element enthält.
                      Das heißt
                      PHP-Code:
                      <?php
                      list ($city, ) = explode(' ''Berlin Kreuzberg'2);
                      echo 
                      $city;
                      // ergibt eine gültige Ausgabe genauso wie
                      list ($city, ) = explode(' ''Karlsruhe'2);
                      echo 
                      $city;
                      ?>
                      Weiß aber nicht, ob das Skript so flexibel sein soll.

                      Kommentar

                      Lädt...
                      X