preg_match auf query string

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

  • preg_match auf query string

    PHP-Code:
    if(preg_match("/^pg=([0-9]{1,2})|(pg=([0-9]{1,2})&lg=(de|en))(.*)$/",$_SERVER['QUERY_STRING'])): 
    hiermit wollte ich abfragen ob der query string nur
    pg=1
    oder z.b
    pg=1&lg=en
    hat
    aber nicht
    pg=1&lg=en&id=1

    was mache ich falsch?

  • #2
    Was gibt er denn aus?

    Kommentar


    • #3
      ahja bei pg=1&lg=en&id=1 sagt er gültig soll ja aber nur für den fall
      pg=1
      oder
      pg=1&lg=en
      gültig sein!
      (wobei die variablenwert natürlich dynamisch ist z.b. lg=(de|en) usw)

      Kommentar


      • #4
        Re: preg_match auf query string

        Original geschrieben von frank7l7
        hiermit wollte ich abfragen ob der query string nur
        pg=1
        oder z.b
        pg=1&lg=en
        hat
        aber nicht
        pg=1&lg=en&id=1

        was mache ich falsch? [/B]
        Schon mal daran gedacht, parse_str() zu verwenden?

        PHP-Code:
        function query_test ($arg)
        {
          
        parse_str($arg);

        # ab hier existieren die GET Variablen in der Funktion und können
        # getestet werden, ohne den globalen Namensraum zu verhunzen

        Zuletzt geändert von meikel; 20.03.2004, 03:13.

        Kommentar


        • #5
          Was ist damit?

          PHP-Code:
          if(preg_match("/^pg=[0-9]{1,2}|pg=[0-9]{1,2}&lg=(de|en)$/",$_SERVER['QUERY_STRING'])) 
          Bei mir funktionert es.

          Kommentar


          • #6
            noch nie gesehen, .. interesant, wie sähe das in meinem beispiel aus?

            Kommentar


            • #7
              Musste es nochmal abändern. So, wie es jetzt oben steht, funktioniert es bei mir wirklich.

              Kommentar


              • #8
                ne geht nicht so mit der preg_match!
                z.b. bei pg=27&id=14 hat er gültig gesagt -> is aber falsch! gültig wäre pg=27&lg=en

                Kommentar


                • #9
                  Ich probiere immernoch.

                  Kommentar


                  • #10
                    mach dir nicht zuviel streß ansonsten probiers ich mit der parse_str das sieht auch recht simple aus un da könnte man die query parameter mit isset abfragen in ner funktion

                    Kommentar


                    • #11
                      Stress mache ich mir damit nicht. Interessiert mich jetzt, welches die richtige Kombination ist.

                      Kommentar


                      • #12
                        na da bin ich aber gespannt -> ich hab so immer meine probleme mit den regex

                        Kommentar


                        • #13
                          Und so?

                          PHP-Code:
                          <?php

                              
                          if(preg_match("/^pg\=[0-9]{1,2}(|\&lg\=(de|en))$/i",$_SERVER['QUERY_STRING']))
                                  echo 
                          $_SERVER['QUERY_STRING']."<br /><br />Gültig";
                              else
                                  echo 
                          $_SERVER['QUERY_STRING']."<br /><br />Nicht gültig";

                          ?>
                          Zuletzt geändert von ; 19.03.2004, 20:57.

                          Kommentar


                          • #14
                            Achtung: Habs nochmal berichtigt.

                            Kommentar


                            • #15
                              fast ... er sagt nun
                              gültig bei:
                              pg=1
                              und ungültig bei:
                              pg=1&id=1
                              leider aber auch ungültig bei
                              pg=1&lg=en
                              EDIT:
                              NE HALT SO STIMMTS JETZ!!!!!! alle 8chtung merci







                              Zuletzt geändert von frank7l7; 19.03.2004, 21:03.

                              Kommentar

                              Lädt...
                              X