reguläre ausdrücke

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

  • reguläre ausdrücke

    hallo,

    mit sicherheit schon tausend mal gefragt aber ich raff es immer noch nicht...

    ich habe eine zeichenkette in der öfter ein bindestrich vorkommt. ich möchte das alles ab dem ersten bindestrich in eine datei geschrieben wird. dazu habe ich bereits vollgendes probiert...

    PHP-Code:
    ^/abc/def/w/(.*)-(.*).php$ /produkte.php?w_art_nr=MR_$2&q_kat=106

    // oder

    ^/ghi/w/(.*)(^[\-]+).php$ /produkte.php?w_art_nr=$2&q_kat=201 
    bei dem ersten wird alle nach dem letzten bindestrick ausgegeben, bei dem zweiten funktioniert es überhaupt nicht. welchen syntax muss davor schreiben, damit er mit alles ab dem ersten bindestrich auswertet...?

    da o. g. ist übrigends für eine mod rewrite regel.

    danke für eure hilfe!
    » http://www.htaccess-generator.com

  • #2
    Du schießt mit Kanonen auf Spatzen. Für "alles ab dem ersten bindestrich" genügen strpos() und substr().
    EDIT:
    Oh, mod_rewrite ... das hatte ich übersehen.

    Kommentar


    • #3
      Für "alles ab dem ersten bindestrich" genügen strpos() und substr().
      In einer mod_rewrite Regel ?
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Versuchs mal mit ^.*\-(.*)$

        Kommentar


        • #5
          Original geschrieben von onemorenerd
          Oh, mod_rewrite ... das hatte ich übersehen.
          OffTopic:
          Na ja, wenn er von "in eine Datei schreiben" redet, ist das in dem Zusammenhang ja auch reichlich irreführend ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Wie oft muss ich eigentlich noch erklären, dass der * Operator gierig ist? Er wird solange auf alles treffen, bis der restliche Teil des Ausdrucks noch SO GRADE auch zutrifft.

            Häng einfach nen ? hinter das 1. Sternchen in der Klammer, dann gehts.
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              Code:
              ^/abc/def/w/([^-]*)-(.*).php$
              @Shurakai
              .*? in einer RwriteRule gibt einen Internal Server Error
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X