probleme mit preg_replace

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

  • probleme mit preg_replace

    Hallo, ich möchte in folgender Textzeile die Ausdrücke Anführungszeichen herausfiltern.

    testtext "hallo" wie

    ich habe den regulären Ausdruck in
    http://pcre.nophia.de/evaluate/
    getestet, da sah der Output so aus wie ich ihn haben wollte.
    "([äöüßa-z- \/:._;,!\\(){}]|[0-9])*"

    PHP-Code:
    $reg_ausdruck "\"([äöüßa-z- \/:._;,!\\(){}]|[0-9])*\""
    PHP-Code:
    $zeile preg_replace($reg_ausdruck,"",$zeile); 
    In meinem PHP-Skript kommt aber, wenn ich mir die Variable $zeile mit echo ausgeben lasse nur folgendes raus:
    \"\"

    Wo liegt mein Fehler? Zumal es auf der Testseite funktionierte...

  • #2
    ich möchte in folgender Textzeile die Ausdrücke Anführungszeichen herausfiltern
    PHP-Code:
    $str str_replace('"'''$str); 

    Kommentar


    • #3
      Re: probleme mit preg_replace

      Zumal es auf der Testseite funktionierte...
      das muß ja nichts heißen, das tool scheint noch recht buggy zu sein.

      ich möchte in folgender Textzeile die Ausdrücke in Anführungszeichen herausfiltern
      ich könnte mir vorstellen, daß du dort ein kleines wort vergessen hast? ansonsten gäbe es wirklich nicht viel sinn, so einen dicken regexp zu verwenden.

      jedes zeichen außer dem " wäre btw am einfachsten als [^"] ausgedrückt.
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        da habe ich mich ev. etwas merkwürdig ausgedrückt.
        Ich möchte von dem Satz
        testtext "hallo" wie
        folgendes zurückbekommen. Und es könnten mehrere Ausdrücke die mit Anführungszeichen geklammert sind vorhanden sein. die sollten natürlich alle durch ein Leerzeichen ersetzt werden.
        testtext wie

        Kommentar


        • #5
          vlt. so:

          $str = preg_replace('/\s"(.*)"\s/Uis',' ',$str);

          Kommentar


          • #6
            danke aber das ersetzt bei mir gar nichts
            (setq ende "bla")(setq ende ",")
            die zeile kommt unverändert raus.
            Ich hatte es auch schon mit folgendem hinbekommen, aber
            das scheint sich die Funktion "greedy" zu verhalten. d.h sie nimmt auch die Fragmente zwischen den Fundstücken, die ja nach dem Muster logisch sind, aber ich wollte natürlich nur die in den Anführungsstrichen stehenden Teile löschen.

            PHP-Code:
            ereg_replace('\"([[:alnum:]]|[[:digit:]]|[[:blank:]]|[[:punct:]])*\"'""$satz); 
            Noch ev. andere Ideen?

            Kommentar


            • #7
              brich den code um!

              nimm aus Milian's vorschlag die whitespaces raus und versuch's nochmal.

              Kommentar


              • #8
                geht leider auch nicht...
                Original: (setq ende "bla")(setq ende ",")

                Warning: Unknown modifier '/' in F:\FoxServ\www\lisp\test.php on line 5
                Ergebnis:
                Ich habe nach deinem Vorschlag folgenden Code genommen:
                PHP-Code:
                $a preg_replace('"(.*)"/Uis',' ',$satz); 
                oder war es so nicht gemeint?

                Kommentar


                • #9
                  erstmal editierst du dein post, verdammt!

                  und dann schaust du dir das patterm nochmal aufmerksam an und überlegst dir, WAS du rausgenommen hast.

                  Kommentar


                  • #10
                    danke nun habe ich es hinbekommen :-)

                    Kommentar


                    • #11
                      Ich habe dazu auch mal eine Frage:

                      $USER[nick] = AB2314 (Swen);
                      $ref = $USER[nick];
                      $sref = "/(\w+) \((\w+)\)/";
                      $eref = "\$1";
                      echo preg_replace($sref, $eref, $ref);

                      was ich jetzt nicht verstehe ist, dass er mir immer doppelt ab2314 rausspuckt... hat da einer eine idee?
                      Schönen Gruss

                      Swen

                      kein plan von php

                      Kommentar


                      • #12
                        Hat sich erledigt... Lag an einer schleife von einem Externscript.
                        Schönen Gruss

                        Swen

                        kein plan von php

                        Kommentar

                        Lädt...
                        X