Ankündigung

Einklappen
Keine Ankündigung bisher.

Strings Teilweise ausgeben

Einklappen

Neue Werbung 2019

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

  • Strings Teilweise ausgeben

    Moin Leutz
    Komme mir deshalb schon ein wenig blöde vor muss ich sagen.
    Aber habe ein Problem mit ein paar Strings (ich mag die Dinger nicht)

    Ich will den ersten teil bis zu einem bestimmten Zeichen (in dem Fall ist es '{') herraus filtern und ausgeben.
    Das Problem dabei ist das der String variabel ist und nicht gesagt ist dass das '{' nicht schon das erste Zeichen ist.
    In dem Fall soll dann nichts ausgeben werden.

    Axo der Hintergrund dafür ist die selbst auferlegte Aufgabe ein Content-Management System zu schreiben.
    Die hier beschriebene Problematik ergibt sich beim Parsen der Templates.

    hier mal zwei Beispiel-Strings
    1.
    Code:
    "irgend ein Text {main} noch irgend ein Blödsinn"
    2.
    Code:
    "{main} noch mal irgend ein text"
    Würde mich riesig freun wenn mir hier jemand damit helfen kann.

    Greetz Thorleif

    P.S. habe natürlich vor diesem Posting nach lösungen gesucht (Google dieses und andere Foren sowie Tutorials )und nichts für mich brauchbares gefunden.

  • #2
    http://www.php.net/preg_match

    Kommentar


    • #3
      --> kuckst du ins manual


      strchr -- Sucht erstes Vorkommen des gesuchten Zeichens und liefert den Reststring
      Beschreibung:
      string strchr ( string haystack, string needle)


      preg_match geht auch ist aber dafür erstens zu umständlich da es ne extra funktion dafür gibt und zweitens wirst du mit preg_match nicht zurechtkommen

      Kommentar


      • #4
        Thx erstmal
        habs schon mit dem strstr() versucht der gibt mir aber nur die restlche Zeichenkette inclusive des '{' wieder.
        Gibt es da ne Möglichkeit das genau in die andere Richtung zu machen?

        Mit dem preg_match() muss ich mal schaun.
        Sieht aber bis jetzt nicht so gut aus
        Habe jetzt schon ne etwas andere Lösung im Kopf

        Das Problem ist halt dass ich sowohl den "locator" (main) aus dem String extrahieren als auch später im Skript ersetzen muss.
        Das stellt kein Problem für mich da.
        Problematisch ist halt dass ich es mir eigentlich so vorgestellt hatte dass ich einfach den ersten Teil des Strings ausgebe dann den Inhalt zu "{main}" und dannach weiter mit dem Rest der Zeichenkette so verfahre wie mit dem ersten teilen.

        Hatte es erst so gelöst dass ich den String in einen Array zerlegt hatte (anhand der trennzeichen "{" und "}").
        Jedes zweite Element des Arrays habe ich als Locator zu verwendet und durch den entsprechenden Inhalt ersetzt.
        Nun hatte ich aber das Prob wenn das "{main}" am Anfang steht schon das Erste Element mit dem Locator gefüllt ist und ich dann immer das Falsche Element ersetzt habe.

        Kommentar


        • #5
          kuck doch m al im manual unter stringfunktionen da findest du schon die richtige funktion

          und ich meinte auch strchr und nicht strstr

          Kommentar


          • #6
            So habe mich durch die String-Funktionen gewühlt und nix dabei gefunden was mir weiter helfen würde.
            (Wobei nicht ausgeschlossen werden kann das ich was übersehn habe)

            Werde es jetzt einfach so machen:
            Am Anfang füge ich ein Leerzeichen ein.
            Damit ist dann auch der ganze Müll von wegen dem Falschen Array-Element den Inhalt zuweisen gegessen.

            Gefällt mir zwar nicht die Lösung aber wat solls

            Kommentar


            • #7
              Re: Strings Teilweise ausgeben

              Zitat von Thorleif82
              Axo der Hintergrund dafür ist die selbst auferlegte Aufgabe ein Content-Management System zu schreiben.
              Die hier beschriebene Problematik ergibt sich beim Parsen der Templates.
              Man muß nicht jedes Fahrrad noch mal erfinden.
              http://test.php-help.info/template-2/ (Quelltexte werden angezeigt)

              Kommentar


              • #8
                Hey Thx meikel
                *g* Jetzt seh ich endlich mal eines echten Profis Arbeit
                das heißt für mich dann wohl: üben üben üben.. *grummel*
                Wenn ich das ganze fertig habe stell ich das vielleicht mal zum Spass ins Netz um zu sehn was die "Profis" davon halten...

                @Meikel:
                Hab gesehn dass du bei deinem Skript die Zeit gemessen hast dies gebraucht hat..
                Wie macht man denn das?
                Und was sind dafür vernünftige Werte?

                Kommentar


                • #9
                  @Thorleif82
                  >*g* Jetzt seh ich endlich mal eines echten Profis Arbeit

                  Übertreib nich. Da gibt es besseres. Ich bin nur schreibfaul.

                  >das heißt für mich dann wohl: üben üben üben.. *grummel*

                  Gepaart mit Handbuchlesen. Ein gutes Buch über Programmierlogik - gelesen und verstanden - hilft ebenfalls.

                  >Hab gesehn dass du bei deinem Skript die Zeit gemessen hast dies gebraucht hat..
                  >Wie macht man denn das?

                  Prinzipiell so:
                  25.5. Wie kann ich die Performance zweier Befehle vergleichen?
                  http://php-faq.info/index.php?aktion...id=283&lang=de

                  Bei test.php-help.info wird das und zB. die Ausgabe des HTML Grundgerüstes während der Ausführung von auto_prepend_file und auto_append_file erledigt. Das ermöglicht gleiches Aussehen und erspart jede Menge redundanter Tipparbeit.

                  >Und was sind dafür vernünftige Werte?

                  Die absoluten Werte sind auch hardwareabhängig. Du solltest immer daran denken, daß Du a. nicht allein auf dem Server "wohnst" und b. daß das Script auch von mehreren Usern zeitgleich aufgerufen werden kann.

                  Kommentar

                  Lädt...
                  X