[REGEX] code aus einem string separieren??

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

  • [REGEX] code aus einem string separieren??

    Ich brauche Hilfe zu den regular Expressions!!
    Also, ich habe mir auch das Tuturial durchgelesen, komme jedoch bei meinem Problem nicht wirklich weiter, da ich nicht alles 100%ig verstanden habe. Also mein Anliegen:

    Ich lese Datenbankeinträge aus, in denen Html und PHP-Code gemischt sind. Ein Beispiel:

    Code:
    Die <b>Rubrik "<A href="links.php">Links</A>"</b> wurde aktualisiert.
    Die in der Link-Datenbank gespeicherten Websites werden nach 
    Beliebtheitsgrad und Rubriken sortiert.
    <BR>Über den Button "Serverstatus anzeigen" ist es möglich, im 
    Vorhinein die Verfügbarkeit der Websites zu prüfen.<?php
    
    echo " <b>das ist nen versuch</b> ";
    
    ?>
    Außerdem kann man die Link-Datenbank beliebig nach Stichworten 
    durchsuchen.
    So, dieser Code ist einem String $string übergeben. Jetzt will ich, dass der String quasi ausgeführt wird. Der Html-Code soll direkt ausgegeben werden und der PHP-Code soll ausgeführt werden, so dass nachher folgendes ausgegeben wird:

    Code:
    Die <b>Rubrik "<A href="links.php">Links</A>"</b> wurde aktualisiert.
    Die in der Link-Datenbank gespeicherten Websites werden nach 
    Beliebtheitsgrad 
    und Rubriken sortiert.
    <BR>Über den Button "Serverstatus anzeigen" ist es möglich, im Vorhinein
    die Verfügbarkeit der Websites zu prüfen. <b>das ist nen versuch</b>
     Außerdem kann man die Link-Datenbank beliebig nach Stichworten 
    durchsuchen.
    Hat jemand eine Ahnung, wie man soetwas realisieren könnte?
    Geht das überhaupt mit regulären Ausdrücken?

    Für eine Hilfe wäre ich sehr dankbar!!!

    Sebastian
    Zuletzt geändert von 123456; 06.03.2004, 20:36.

  • #2
    würdest du bitte den beitrag umbrechen?

    auch wenn ich deine vorgehensweise nicht 'toll' finde,
    könnte eval() vielleicht helfen ...
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      mit eval hab ich es auch schon probiert..
      leider gibt es dann einen fehler dieser art

      Parse error: parse error, unexpected T_STRING in viewdetails.php(1660) : eval()'d code on line 1


      die vorgehensweise muss leider in der weise sein, als dass ich den Usern meines Content-Management-Systems die Möglichkeit geben will PHP zu nutzen wenn sie Beiträge erstellen. So können Z.B. per Formular dynamische Elemente entworfen werden oder einfach mal eine "mitlaufende" aktuelle Jahreszahl schnell eingefügt werden.

      http://www.muenster.org/paddelsport

      Kommentar


      • #4
        hmm,

        eventuell mußt du die " escapen?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          es muss daran liegen, dass der $string ja kein echo-Befehl enthält
          Das Escapen alleine nützt leider nichts

          Kommentar


          • #6
            hmm,

            wenn du die lösung kennst, frage ich mich, wo das problem ist?

            EDIT:
            ach, habs grad begirffen, sorry
            Zuletzt geändert von derHund; 06.03.2004, 20:51.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              wenn ich einen echo-Befehl ergänze wird der gesamte String ausgegeben mitsamt dem PHP-Code, welcher aber ausgeführt werden soll

              Kommentar


              • #8
                templates?

                oder wirklich über regexp, was aber extrem blöd wär, wegen umständlichkeit.

                du müßtest die vorkommen von <?PHP suchen, den enthaltenen code durch sein ausgeführtes eqivalent ersetzen, naja. nicht schön, aber doch auch nicht so dfas problem, oder? wodran scheiterts?
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  *seuftz* an den regexs. und daran, dass ich nicht weiß, wie ich den code ausführen kann.
                  Ich habe wirklich keine idee, wie ich soetwas realisieren könnte. Ich komme langsam vor Fehlern um ;-)

                  Kommentar


                  • #10
                    machs so:

                    schreib den inhalt in eine datei, und include ihn?

                    wenn du den code per eval ausführst, erhälts du bei echo ja ne ausgabe, was ja nicht wirklich gewollt ist, du willst ja eher ne rückgabe, oder?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      naja, das was du da versuchst erfordert schon einige grundlagen...

                      das mit dem ausführen hat derhund dir ja schon gepostet (ganz oben).

                      BTW: ich frage mich, warum ich das bis jetzt noch nie so machen musste.

                      Kommentar


                      • #12
                        alternativ,

                        du kannst ja den code vor und nach den php-bereichen suchen, denn in ein echo packen, ....
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          jo stimmt. ist zwar kein guter stil, aber zumindest dürfte es funktionieren..


                          aber, wie sieht denn ein Befehl aus, mit dem dieses filtern zu realisieren wäre? meine regexs scheitern immer bei der auswahl des bereichs...
                          Zuletzt geändert von 123456; 06.03.2004, 21:16.

                          Kommentar

                          Lädt...
                          X