Substr Problem mit PHP

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

  • Substr Problem mit PHP

    Hallo zusammen,

    ich bin neu im Forum (naja nicht neu aber jetzt nicht mehr nur stiller Teilhaber ;-).

    Habe eine Frage bzgl. der Substr. Funktion. Habe mir schon div. Beispiele und auch php manual durchgelesen aber ich komme nicht weiter.

    Wie kann ich in folgendem String nur den fett markierten Bereich auslesen?! dieser ist nicht immer 4 Stellig, kann auch 3 oder 5 Stellen haben aber es ist immer eine Zahl und sie kommt immer nach dem "bid="

    http://www.xxx.de/index.php?page=meta&bid=1580&lock=sold&topic=123...

    Wie komme ich zur "bid=" und wie kann ich anschließend die 4 Stellen abfragen bzw. abfragen so lange zahlen kommen (können ja auch 3 oder 5 Zahlen sein bis zum nächsten &. Am Schluss würde ich diese Zahl gerne einer Variable übergeben.

    Über Tipps wo ich eine Lösung dazu finden könnte oder ob ich einfach mit der falschen Logik an die Sache herangehe würde ich mich sehr freuen!

    Vielen Dank vorab!

    Schöne Grüße,
    Mout

  • #2
    PHP-Code:
    $url 'http://www.xxx.de/index.php?page=meta&bid=1580&lock=sold&topic=123';
    $query parse_url($urlPHP_URL_QUERY);

    $params = array();
    parse_str($query$params);

    echo 
    $params['bid'];
    // 1580 
    PHP: parse_url - Manual

    PHP: parse_str - Manual
    Zuletzt geändert von h3ll; 21.07.2011, 13:49.

    Kommentar


    • #3
      So funktionierts, klasse, Vielen Dank!

      Diese Funktion kannte ich nicht, da kann ich den String lang zerlegen und mit for Schleifen rumbasteln...

      Habe vorher den von Dir noch nicht geänderten Beitrag mit der Auflistung des arrays gesehen, die Logik dahinter ist mir klar (ist ja auch nicht schwer) und wir auf der verlinkten Seite gut beschrieben!

      Danke noch mal!

      Gruß Mout

      -erledigt-

      Kommentar


      • #4
        Ich habe leider doch noch ein Problem und komme selbst nicht drauf...


        URL: http://www.xxx.de/index.php?page=meta&bid=1580&lock=sold&topic=123...
        PHP-Code:
        (     [scheme] => http     [host] => www.xxx.de     [path] => /index.php     [query] => page=meta&bid=1580&lock=sold&topic=123  
        ... das wird bei mir im array gespeichert, aber ich möchte ja die bid 1580 gerne in einer variable ausgeben.

        Wie bekomme ich diese aus dem [query] tag?
        Leider löst er mir den query nicht direkt auf und ich habe so keinen Zugriff auf die ['bid'] mittels [FONT=&quot]echo $params['bid'];
        [/FONT]
        Vielen Dank noch mal - vorab!
        [FONT=&quot]
        [/FONT]

        Kommentar


        • #5
          Also der Umgang mit Arrays sind Grundlagen.

          PHP: Arrays - Manual

          Kommentar


          • #6
            natürlich aber mit dieser Funktion bekomme ich ja den kompletten Datensatz im array zurück, ich kann gar nicht auf die bid einzeln zugreifen.

            hm soll ich es noch mal genauer erklären?

            Kommentar


            • #7
              mein array gibt mir folgendes zurück:

              [COLOR=#000000][COLOR=#0000CC] [/COLOR][COLOR=#006600][[/COLOR][COLOR=#0000CC]query[/COLOR][COLOR=#006600]] => [/COLOR][COLOR=#0000CC]page[/COLOR][COLOR=#006600]=[/COLOR][COLOR=#0000CC]meta[/COLOR][COLOR=#006600]&[/COLOR][COLOR=#0000CC]bid[/COLOR][COLOR=#006600]=[/COLOR][COLOR=#0000CC]1580[/COLOR][COLOR=#006600]&[/COLOR][COLOR=#0000CC]lock[/COLOR][COLOR=#006600]=[/COLOR][COLOR=#0000CC]sold[/COLOR][COLOR=#006600]&[/COLOR][COLOR=#0000CC]topic[/COLOR][COLOR=#006600]=[/COLOR][COLOR=#0000CC]123

              [/COLOR][/COLOR]ich möchte aber nur die bid=1580 also 1580 als ausgabe bzw. in einer variable

              Kommentar


              • #8
                Du möchtest zur Kenntnis nehmen, dass h3ll zwei Funktionen verlinkt hatte ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  stimmt ;-)

                  ich muss das mit dem parse_str noch extrahieren.

                  Danke!

                  Kommentar

                  Lädt...
                  X