Regex - Realisierbar?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.
    Last edited by tontechniker; 27-07-2007, 20:22.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Comment


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

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

      Comment


      • #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]

        Comment


        • #5
          Regex - Realisierbar?

          EDIT: HABE KEINE LUST MEHR
          Last edited by x12x13x14; 27-07-2007, 22:01.

          Comment


          • #6
            danke, das hat mir sehr geholfen!

            Comment


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

              Comment


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

                Comment

                Working...
                X