Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Url Parameter mit regulärem Ausdruck auslesen funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Url Parameter mit regulärem Ausdruck auslesen funktioniert nicht

    Hallo zusammen, ich versuche in Anlehnung an den folgenden kleinen Code Snippet, welcher funktioniert, Parameter aus einer Url auszulesen.


    PHP-Code:
    <?php
    //////////
    //    Das funktioniert!
    //////////

    //First we set the url variable here
    $url 'website_url/website_name/generatebuynowbtn.php?id=65&num=1';
     
    //We search for a match to grab the id value and the num
    //value in the url variable above
    preg_match('#\?id=([0-9]+)\&num=([0-9]+)#',$url,$variables);
     
    //We assign the values to their own variables and
    //make sure they are a number with int()
    $url_id intval($variables[1]);
    $url_num intval($variables[2]); 

    print 
    "url_id: " $url_id;
    print 
    "url_num: " $url_num;
    ?>

    Das sieht dann bei mir in etwa so aus:

    PHP-Code:
    <?php
    //////////
    //    Das hier nicht!
    //////////


    $url2 'http://www.site.de/test.php?k=o2p2s3u6g7l2t3v3r344u3o2g4x3p2o3s626s3m2l2v3o2y3j2a3o2q2o33836l2d2v3l2p2v3j243&p=o2p2s3u6g7l2t3v3r344u3o2g4x3p2o3s626s3m2l2v3o2y3j2a3o2q2o33836l2d2v3l2p2v3j243';
        
    //We search for a match to grab the p value and the k
        //value in the url variable above
        
    preg_match('#\?k=([0-9a-b]*)\&p=([0-9a-b]*)#',$url2,$variables2);

    print_r($variables2);
    $k $variables2[1];
    $p $variables2[2];

    print 
    "k: " $k;
    print 
    "p: " $p;
    ?>
    Leider tut das untere, von mir angepasste Snippet überhaupt nichts. Hat jemand eine Idee, warum ich hier auf dem Holzweg bin? Für mich ist das Verfahren die Parameter über named subpatterns auszulesen wichtig. Eine Lösung mit explode und substring würde mit wachsender Anzahl an Parametern zu kompliziert.


    Vielen Dank für eure Anregungen

  • #2
    Kann es sein, dass du statt a-b a-z schreiben wolltest?
    [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
    [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

    Kommentar


    • #3
      Oder kann es sein, dass du die Existenz der Funktionen parse_str und ggf. parse_url übersehen hast ...?
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #4
        D'oh! Danke dir,fab.

        @ChrisB
        Von parse_url habe ich schon mal gehört In meinem Fall legt es aber in dem Feld [path] den gesamten Teil der Url ab, der nicht der Hostname ist. Sprich er hängt alles aneinander in ein Feld. Oder benutze ich es falsch?

        Kommentar


        • #5
          Daher ja auch der Hinweis auf [man]parse_str[/man]. Außerdem brauchst du das Feld [query], nicht [path]
          [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
          [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

          Kommentar

          Lädt...
          X