preg_replace() min. 3 Zeichen???

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

  • preg_replace() min. 3 Zeichen???

    Hallo,

    hab ein kleines problem mit preg_replace(). Hab mich die Nacht ein wenig mit RegExp beschäftigt. Folgender Code:

    PHP-Code:
    $fp " Das ist ein derde Test. de der.";
    $replace = array('/((?<=\s|^)de(?=\s|$))/i''/((?<=\s|^)der(?=\s|$))/i');
    $fp preg_replace$replace ""$fp);
    echo 
    $fp
    als Ausgabe sollte hier eigentlich "Das ist ein derde Test." kommen. Leider bekomme ich "Das ist ein derde Test. de". Das de wird nicht von preg_replace() ersetzt. Wenn ich aber im $replace array aus dem "de" ein "test" mache wird "Test" brav entfernt.

    Woran kann das liegen? Kann im manual nix finden das man min drei Zeichen angeben muss.

    Gruß

  • #2
    Hmm, sicher?

    Bei mir bleibt der. hinten über. Aber das ist auch so definiert würd ich sagen. und Test wird bei ner entsprechenden Änderung auch nicht ersetzt.

    Kommentar


    • #3
      Hmm, sicher?
      Nun net mehr, der String $fp ist im Orginal um einiges länger und das array $replace auch. Die Daten im Array sind alle in der Form:
      PHP-Code:
      '/((?<=s|^)wort(?=s|$))/i' 
      eingetragen.

      Manch werden entfernt, andere nicht. Mir ist es nur aufgefallen das gerade die Wörter mit nur zwei Buchstaben nicht entfernt werden. Beim genauen Hinsehen sind es doch nicht nur die.

      Werd wohl nochmal von vorne anfangen müssen.

      Danke erst mal.

      Ach ja, ich bin für jeden Ansatz dankbar.

      Kommentar


      • #4
        Warum einfach wenns auch kompliziert geht.
        PHP-Code:
        '/\bwort\b/i'
        Manchmal sieht man den Wald vor lauter Bäumen nicht.

        Grüße

        Kommentar

        Lädt...
        X