[REGEX] preG_replace and function call

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

  • [REGEX] preG_replace and function call

    Hallo Board,

    ich hab ein problem mit preg_replace und einem function call.
    Ich hab das Board schon durchsucht, aber es hat keiner der Ratschläge geklappt.

    Die Funktion wird zwar aufgerufen. Wenn ich aber $elem1 ausgebe bekomme ich statt 15 und 16 in beiden Fällen $1 ausgegeben.

    Was läuft da falsch? Erfolgt die Ersetzung mit preg erst nach der Funktionsausführung? Gibt es ein Workaround?. Statt der if Abfragen, kommen später SQL Statements rein.

    PHP-Code:

    function replaceText($elem1) {
        echo 
    $elem1;
        
        if (
    $elem1==15$elem2=10019;
        elseif (
    $elem1==16$elem2=10020;    
        elseif (
    $elem1==17$elem2=10021;    
        else 
    $elem2='AAA';
        
        return 
    "index.php?getElement=123123123".$elem1."&a=123123123".$elem2;
    }

    $var "dies ist der text mit <a href='siteConnect(15)'>text</a> und <a href='siteConnect(16)'>text2</a> welcher ersetzt werden soll!";

    $var preg_replace("/siteConnect\(([0-9]+)\)/i"replaceText("$1"), $var); 
    echo 
    $var

  • #2
    OffTopic:
    dein crossposting habe ich gelöscht.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Was für ein corss posting ?

      Kommentar


      • #4
        OffTopic:

        Das Thema was du erstellst hast wurde zwei mal in die Datenbank eingetragen (Warum auch immer).

        Abraxax hat den zweiten eintrag gelöscht. Das meint er mit corss posting

        Kommentar


        • #5
          OffTopic:
          Original geschrieben von Pat-ro
          Warum auch immer
          ich weiss es aber...
          er hat mit sicherheit wie bekloppt mehrfach auf den button 'thread erstellen' geklickt.

          einmal reicht normal aus.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            ne habe ich nicht,
            maybe bin ich ausversehen auf ne andere seite und dann wieder mit den back buttons des browsers zurück.

            warum auch immer. i am sorry.

            Kommentar


            • #7
              ich hab das ganze jetzt mal noch auf die Art versucht die operationen direkt innerhalb des preg_replace auszuführen. Aber auch so geht es nicht. str_Pad("\$1", .....) zeigt dann z.B. Warning: str_pad(): Padding string cannot be empty. in /home/www/weber/html/regex.php on line 18.

              Hat jemand eine Idee??

              Kommentar


              • #8
                Code:
                $var = preg_replace("/siteConnect\(([0-9]+)\)/ie", "replaceText('$1')", $var);
                so sollte es klappen
                EDIT:
                wieder nich dran gedacht, dass [php ] und \ sichn icht verträgt
                Zuletzt geändert von mrhappiness; 11.01.2004, 20:23.
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  check das mal:
                  Code:
                  $var = preg_replace("/siteConnect\(([0-9]+)\)/ie", "replaceText('$1')", $var);
                  EDIT:
                  oh, happy ... du auch hier?
                  Kissolino.com

                  Kommentar


                  • #10
                    @wurzel
                    Ich bin der Schatten, der die Nacht durchflattert.
                    Ich bin der Fettfleck auf Deinem frisch gewaschenen T-Shirt.
                    Ich bin Darkwing Duck^W^Wmrhappiness
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      OffTopic:
                      ich bin ....

































                      ... beeindruckt
                      Kissolino.com

                      Kommentar


                      • #12
                        OffTopic:
                        ob meiner fähigkeit in dieser schnelllebigen welt noch zeit für comics zu haben?

                        oder von meiner von gott gegebenen gabe schwachfug zu labern?


                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          OffTopic:
                          gibs zu, du hast unter dem nick "schmalle" noch nen 2. account laufen
                          /ot ?
                          Kissolino.com

                          Kommentar


                          • #14
                            Original geschrieben von Wurzel
                            gibs zu, du hast unter dem nick "schmalle" noch nen 2. account laufen
                            dir ist klar, dass ich dich jetzt töten muss?
                            /ot ?
                            sir, yes sir
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              ich hab die lösung:

                              preg_replace_callback ist mein freund!

                              Kommentar

                              Lädt...
                              X