Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] "Komplexe" String-Zerlegung

Einklappen

Neue Werbung 2019

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

  • [Erledigt] "Komplexe" String-Zerlegung

    Moin,

    angenommen ich habe folgenden strg:
    PHP-Code:
    $foo '%foo%%bar%,%baz% -Lorum Ipsum: %bat%'
    Diesen würde ich gerne so zerlegen, dass ich ein Array bekomme, das mir nur Werte liefert, die jewils zwischen den % gewrapt sind. In obigen Bsp. sollte das Array also:
    foo, bar, baz, bat
    ergeben.

    Mit explode oder preg-split bin ich nicht weiter gekommen.

    Gibt's da eine PHP-Funktion für oder muss ich die selbst schreiben?

    Danke!
    e.


  • #2
    Hallo,

    Text zwischen Anführungszeichen auslesen - Reguläre Ausdrücke - hallophp.de

    ist im Grunde nichts Anderes.

    Gruß
    http://hallophp.de

    Kommentar


    • #3
      Schau dir mal [MAN]preg_match_all[/MAN] an, damit solltest du es hinbekommen.
      @fschmengler - @fschmengler - @schmengler
      PHP Blog - Magento Entwicklung - CSS Ribbon Generator

      Kommentar


      • #4
        Zitat von echo Beitrag anzeigen
        Mit explode oder preg-split bin ich nicht weiter gekommen.
        Solche Aussagen sind für die Tonne. Zeig her, was du versucht hast - dann können wir dir auch sagen, was du dabei falsch machst.

        Kommentar


        • #5
          Danke an Aspiak u. fab, für die meine Aussage offenbar nicht "für die Tonne" war!
          PHP-Code:
          $val_set '%foo%%bar%,%baz% - %bat%';
             
          preg_match_all('/([%])([^\1]*?)\1/'$val_set$matches);
          var_dump($matches); 
          ergibt:
          array(3) {
          [0]=>
          array(4) {
          [0]=>
          string(5) "%foo%"
          [1]=>
          string(5) "%bar%"
          [2]=>
          string(5) "%baz%"
          [3]=>
          string(5) "%bat%"
          }
          [1]=>
          array(4) {
          [0]=>
          string(1) "%"
          [1]=>
          string(1) "%"
          [2]=>
          string(1) "%"
          [3]=>
          string(1) "%"
          }
          [2]=>
          array(4) {
          [0]=>
          string(3) "foo"
          [1]=>
          string(3) "bar"
          [2]=>
          string(3) "baz"
          [3]=>
          string(3) "bat"
          }
          }

          Kommentar


          • #6
            Ach, eine kleine Nebenfrage noch bitte:

            Wie nennt man im Fachjargon eigentlich diese Wrap-Zeichen/begrenzer, also in meinem Bsp. die %?? Sowas gibt's ja z.B. auch bei smarty, etc.

            Kommentar


            • #7
              Also bei Smarty heißen sie delimiter
              @fschmengler - @fschmengler - @schmengler
              PHP Blog - Magento Entwicklung - CSS Ribbon Generator

              Kommentar


              • #8
                Dieser Begriff ist aber leider auch sonst mannigfaltig belegt (bspw. für Stringbegrenzer und für Begrenzer von reg. Ausdrücken). Typisch IT halt.
                --

                „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

                Lädt...
                X