Regulärer Ausdruck: Speicherprobleme?

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

  • #16
    Das ? soll PRCE auf greedy stellen
    SQL Injection kitteh is...

    Kommentar


    • #17
      Hab es mit .+ getestet und .*, kein Effekt, die Expr funzt ja wunderbar bei ein wenig kleineren Strings.

      Zum testen:

      PHP-Code:
          $result['body'] = "nobr(hallo);";
              
      $result['body'] = "nobr(".str_repeat("w",100000).");";
         
             
      preg_match("#(.*)nobr\((.+?)\);(.*)#is",$result['body'], $match);
      print_r($match); 
      Zuletzt geändert von Seikilos; 21.10.2008, 05:53.
      SQL Injection kitteh is...

      Kommentar


      • #18
        Was willst du denn danach damit machen?
        Eventuell wäre der Modifier e etwas für dich.

        Ansonsten schreib dir was mit String-Funktionen/explode und mach es von Hand.
        Der Regex ist ja jetzt nicht wirklich kompliziert.

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #19
          Original geschrieben von Seikilos
          Das ? soll PRCE auf greedy stellen
          Oh richtig, eine der Abweichungen von Perl. Ich habs nochmal nachgeschlagen:
          Standardmäßig sind Quantifikatoren gierig und ? negiert das. Dein ? stellt also nicht auf greedy sondern auf ungreedy. Und das ist auch sinnvoll für deinen Zweck.

          Kommentar


          • #20
            Was auch noch geht wäre preg_split mit PREG_SPLIT_DELIM_CAPTURE.
            Dann könntest du vorne und hinten dir das .* schenken, das würde den Regex schon mal leichter machen.

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar

            Lädt...
            X