[Funktion] pls help: URL splitten, Variablen ersetzen

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

  • [Funktion] pls help: URL splitten, Variablen ersetzen

    Hi zusammen!

    Ich hab hier eine etwas komplizierte Aufgabenstellung und weiss nicht wie ich das lösen kann. Vielleicht ist hier ein Pro dabei und kann mir auf die Sprünge helfen ... (ich mach immer alles komplizierter als es ist).

    Aufgabe: Funktion schreiben (replacevars)

    $antwortneu = replacevars($anfrage,$antwort)

    Beispiel:
    -----------

    antwort = ' entry.php3?id=Seite49 '&asid=<#id1>&bsid=<#id2>' [... usw.]

    anfrage = ' /suchtprobleme/text.php3?id1=10&id2=20 ' [...usw.]

    Die Funktion muss dann quasi die URL aufsplitten und die Werte (z.Bsp. id=10) rausziehen und den vorgegebenen Text (<#id1>) mit dem Wert ersetzen. Im Prinzip nicht schwierig, aber ich kapier's einfach net.

    Das Ergebnis könnte dann wie folgt aussehen:

    $antwortneu ='entry.php3?id=Seite49 '&asid=10&bsid=20'

    Ich freue mich auf jede Antwort, jeden Tip, jede Lösung =)

    Vielen lieben Dank im Vorraus !!!

  • #2
    Wo bekommst du denn den Wert von $antwort her?

    Wenn dieser aus einer URL kommt, dann kannst du genau so
    $_GET['id'] benutzen.

    Siehe auch: http://www.php.net/variables.predefined

    Kommentar


    • #3
      Am einfachsten geht das wohl, indem du erst den string mit explode in ein array aufteilst, die entsprechenden felder des arrays austauschst und das ganze mit implode wieder zusammensetzt.

      Kommentar


      • #4
        habs nicht getestet, aber versuchs ruhig mal...

        antwort = ' entry.php3?id=Seite49 '&asid=<#id1>&bsid=<#id2>' [... usw.]
        anfrage = ' /suchtprobleme/text.php3?id1=10&id2=20 ' [...usw.]

        PHP-Code:

        $splitt
        =explode("=",$anfrage);
        // somit wird $anfrage an der stelle '=' in ein arry zerlegt
        // $splitt[0] ist also: " /suchtprobleme/text.php3?id1"
        // $splitt[1] ist dann: "10&id2";
        // $splitt[2] ist dann: "20&id3";
        // d.h. ab $splitt[1] wirds interessant

        for ($i=1;$i<count($splitt);$i++)
              {
               
        $replace=explode("&",$splitt[$i]); // zerlegt wieder um "10&id2" in "10" und "id2";
               //jetzt ersetze ich die platzhalter in der antwort.
               //durch die id aus der anfrage
               
        $tobereplaced="<#id".$i.">";
               
        $changein=$replace[0];
               
        $antwort=str_replace($tobereplaced,$changein,$antwort);
              }
        $antwortneu=$antwort
        ist ein umstaendlicher weg, aber ich weiss auch nicht genau, was du willst,
        aber bei deinem beispiel sollte es klappen - probiers oder warte auf ne
        kluegere loesung. schreib dazu aber noch genauer, wie und woher antwort und anfrage kommen. viel glueck
        **********
        arkos
        **********

        Kommentar

        Lädt...
        X