Ankündigung

Einklappen
Keine Ankündigung bisher.

Spezielle aus Text nehmen, ersetzen und Teil aus dem Text...

Einklappen

Neue Werbung 2019

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

  • Spezielle aus Text nehmen, ersetzen und Teil aus dem Text...

    ...im Eingesetzten verwenden:

    Hallo,

    der Titel klingt etwas kompliziert aber ich weiß selbst nicht genau wie ich es beschreiben soll. Im Prinzip soll das gemacht werden:

    1. Ich habe folgende Variable:

    $text = "Hallo ich bin der Text und ich bin {g;111254} jetzt!";

    2. Dann soll er überprüfen ob in diesem $text eben dieses {g;65464} vorkommt. (Achtung, diese Zahl kann verschieden sein!)

    3. Dann soll er diesen Ausdruck einfach durch was ersetzen und ich möchte darin eben dann diese Zahl verwenden, die dort nach den g; steht. Also Beispielsweise wird dann aus {g;1111} = <script src="test.php?id=1111"> (nur ein fiktiver Code, der richtige <script>-Code ist komplizierter, aber mir gehts ja auch nur um das Grundprinzip)

    4. Am Ende würde es dann also beispielsweise so ausschauen:

    $text = "Hallo ich bin der Text und ich bin <script src="test.php?id=1111"> jetzt!";

    Habt ihr ne Idee wie man das machen kann?

    Danke

    Bei Fragen einfach fragen, ich versuchs weiter zu erklären!

  • #2
    Ja, Variable rausfiltern, mit strpos() oder preg_match() -- Regulären Ausdrücken also (beschäftige dich doch einfach mal mit ihnen, wirst sie immer wieder brauchen) und dann die Ersetzung vornehmen mit str_replace() oder preg_replace().

    Du bist wieder dran

    Kommentar


    • #3
      Da das g in der Aufgabe sicherlich auch keine unbedeutende Rolle spielt, lies Dir dabei gleich die Beschreibung zum /e (eval) Parameter mit durch. Mit einer geeigneten Funktion kannst Du die erforderliche Ersetzung sicherlich sehr komfortabel durchführen.

      Kommentar


      • #4
        Zitat von nikosch77
        Da das g in der Aufgabe sicherlich auch keine unbedeutende Rolle spielt, lies Dir dabei gleich die Beschreibung zum /e (eval) Parameter mit durch. Mit einer geeigneten Funktion kannst Du die erforderliche Ersetzung sicherlich sehr komfortabel durchführen.
        Naja ich hab später dann ein {g;1111}, {h;5454}, etc. und dann mach ich das halt mit {g;$zahl} ersetzen durch ...., dann {h;$zahl} ersetzen durch..., etc. Also im Prinzip mach ich die gleiche Funktion dann nochmal mit dem h, etc...aber mir reicht schonmal das mit dem g.

        Kommentar


        • #5
          Das war eine der sinnfreiesten Erklärungen, die ich seit langem gelesen habe. So oder so werden g und h sicherlich irgendeine Bedeutung haben, also muß diese Angabe auch verarbeitet werden. Ich wollte eben nur anmerken, dass sich der /e Parameter dazu gut eignet.

          Kommentar


          • #6
            Zitat von Zergling
            Ja, Variable rausfiltern, mit strpos() oder preg_match() -- Regulären Ausdrücken also (beschäftige dich doch einfach mal mit ihnen, wirst sie immer wieder brauchen) und dann die Ersetzung vornehmen mit str_replace() oder preg_replace().

            Du bist wieder dran
            Ja ok das Grundprinzip ist mir ja klar...aber mein Versändnisproblem ist die Variable also die Zahl die erst ausgelesen werden soll und dann beim ersetzen des ganzen auch wieder mit eingesetzt werden soll.

            Kommentar


            • #7
              Benutze preg_replace (). Stichwort: Backreferences.

              Kommentar


              • #8
                Oder substring...

                Kommentar


                • #9
                  substring () funktioniert auch nur, wenn er vorher mit preg_match_all () die Fundstellen bestimmt. Und dann kann er imho auch gleich den regulären Ausdruck zum Ersetzen benutzen.

                  Kommentar


                  • #10
                    Hmh...gibts vielleicht irgendwo mal Beispiele mit dieser variable beim erkennen? Denn ich finde zwar immer Beispiele bei den Funktionen aber immer mit festem Content, bzw. festen Sachen die gefunden werden. Jetzt hab ich ja allerdings was variables mit der Zahl drin.

                    Kommentar


                    • #11
                      du musst dich einfach auf das konzentrieren was statisch in deinem Text ist, also die {} und das ; ... vollkommen variablen Text rausfiltern kann ja schlecht gehen

                      Kommentar


                      • #12
                        Willst Du jetzt solange weiterfragen, bis Dir jemand die Lösung hier hinschreibt? Wenn Du es als problematisch siehst, dass sich die Zahl in Deinem String ändern kann, hast Du das Wesen der regulären Ausdrücke noch nicht durchdrungen.

                        [0-9] bzw. \d
                        Mehr sag ich jetzt wirklich nicht.

                        Kommentar

                        Lädt...
                        X