Regex - Realisierbar?

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

  • Regex - Realisierbar?

    Hallo,

    wenn ich einen regulären Ausdruck habe..

    PHP-Code:
    $text preg_replace "/\\[.+\\]/"""$text ); 
    ,

    Wie kann ich dann sicherstellen, dass nur "[test]" in "[test] test]" ersetzt wird und gleich alles?

  • #2
    In dem du [ und ] innerhalb der Klammern ausschließt. Oder hinter das + noch ein ? setzt, damit ist das + ungierig.
    Zuletzt geändert von tontechniker; 27.07.2007, 21:22.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      was heißt denn ".+?" ?? Verstehe das (noch) nicht..

      zu 1) Im Ausdruck kann ja ] vorkommen, nur eben nicht ]]

      Kommentar


      • #4
        Gier heißt, dass der Punkt auf alles matched was irgendwie möglich ist, ergo "[test] mehr test]". Das ? macht den Operator ungierig, heißt er matched nur noch auf "[test] mehr test".
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          Regex - Realisierbar?

          EDIT: HABE KEINE LUST MEHR
          Zuletzt geändert von x12x13x14; 27.07.2007, 23:01.

          Kommentar


          • #6
            danke, das hat mir sehr geholfen!

            Kommentar


            • #7
              klar. einfach bei dem startzeichen "[" auf ein zuvorkommendes leerzeichen prüfen, und das gleiche bei endzeichen nur umgekehrt

              Kommentar


              • #8
                Du machst es dir ja sehr einfach. -ERLEDIGT-

                Kommentar

                Lädt...
                X