preg_replace funktion wird zuerst aufgerufen :(

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

  • preg_replace funktion wird zuerst aufgerufen :(

    Hallo zusammen!

    Habe folgende preg_replace:

    PHP-Code:
    $text preg_replace("/\[PIC=(.*?)\](.*?)\[\/PIC=(.*?)\]/ie""show_report_pic('\\1', '\\2', '\\3')"$text); 
    Modifier e wird zuerst alles im Text ersetzt und erst dann den Text darunter angezeigt :-(
    Gibt es einen anderen Modifier mit dem man eine Funktion im preg_replace ersetzen kann?

    vielen Dank für eure Hilfe!

    samic
    Blog: busyboy.ch
    Portfolio: flinkthink.ch

  • #2
    Modifier e wird zuerst alles im Text ersetzt und erst dann den Text darunter angezeigt :-(
    ging das nochmal auf deutsch?
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Hmm..
      Sorry, ist ein bisschen schwer zu erklären ;-) Also ich habe einen Text. Über diesen Text lasse ich die preg_replace Funktion laufen. [PIC][/PIC] wird durch ein Bild ersetzt, aber nicht an der Stelle im Text wo [PIC][/PIC] steht, sondern am Anfang des Textes, ich denke es hängt mit dem Modifier e zusammen, leider kenne ich mich nicht so aus...

      Verstanden?
      Blog: busyboy.ch
      Portfolio: flinkthink.ch

      Kommentar


      • #4
        hat wirklich niemand eine Ahnung was ich falsch mache?!
        Blog: busyboy.ch
        Portfolio: flinkthink.ch

        Kommentar


        • #5
          ersetz mal testweise nur mit nem string.

          Kommentar


          • #6
            poste mal lieber den code von show_report_pic, ich ahne schlimmes ...

            da ich die verwendung des modifiers e eigentlich immer unterstütze, weise ich dich nicht auf preg_replace_callback als alternative hin.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              geht nicht wegen dem /ie , wenn ich das "e" weg lasse, geht es logischerweise, aber ich will ja das ganze mit der Funktion machen, deshalb muss ich doch das "e" nehmen?! gibt es sonst noch eine alternative?
              Blog: busyboy.ch
              Portfolio: flinkthink.ch

              Kommentar


              • #8
                Original geschrieben von samic
                geht nicht wegen dem /ie , wenn ich das "e" weg lasse, geht es logischerweise, aber ich will ja das ganze mit der Funktion machen, deshalb muss ich doch das "e" nehmen?! gibt es sonst noch eine alternative?
                logisch, hat auch keiner was gegenteiliges behauptet...

                Kommentar


                • #9
                  Original geschrieben von derHund
                  poste mal lieber den code von show_report_pic, ich ahne schlimmes ...

                  da ich die verwendung des modifiers e eigentlich immer unterstütze, weise ich dich nicht auf preg_replace_callback als alternative hin.
                  ok, hier show_report_pic was ahnst du denn?

                  PHP-Code:
                  function show_report_pic($comment$pic$align) {
                  echo 
                  "
                       <table cellpadding=\"2\" align=\""
                  .$align."\">
                       <tr>
                          <td>
                          <table width=\"90\" height=\"90\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" bgcolor=\"#E3E3E3\" >
                          <tr>
                           <td>
                           <div align=\"center\">
                           <table width=\"88\" height=\"88\" border=\"0\" bgcolor=\"#FFFFFF\" cellspacing=\"3\">
                               <tr>
                                 <td align=\"middle\"><a href=\"#\" onclick=\"PicViewer('./pics/report_gallery/"
                  .$pic."');\">
                  <IMG src=\"./pics/report_gallery/thumb_"
                  .$pic."\" border=\"0\"></a></td>
                               </tr>
                               <tr>
                                 <td>"
                  .$comment."</td>
                               </tr>
                           </table>
                           </div>
                           </td>
                          </tr>
                          </table>
                          </td>
                       </tr>
                       </table>
                       "
                  ;

                  Blog: busyboy.ch
                  Portfolio: flinkthink.ch

                  Kommentar


                  • #10
                    Original geschrieben von samic
                    ok, hier show_report_pic was ahnst du denn?
                    diese funktion gibt sofort in dem augenblick, in dem sie aufgerufen wird, etwas mit echo aus.

                    wenn du aber keine sofortige ausgabe haben willst, sondern den text nach dem preg_replace in $text eingefügt haben willst, sollte diese funktion etwas mit return zurückgeben.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      juhu, vielen Dank es geht! :-D
                      Blog: busyboy.ch
                      Portfolio: flinkthink.ch

                      Kommentar

                      Lädt...
                      X