mixmastertobsi: preg_match_all Zeilenumbruch

Hallo,

habe folgende Expression, allerdings funktioniert diese nicht, wenn der Text einen Zeilenumbruch hat. Was fehlt mir.

preg_match_all("/###TEXT(.*)TEXT###/", $text, $match_text);

$text = "###TEXT dasisteintest ###TEXT"; //GEHT

$text = "###TEXT das
istein
test ###TEXT"; //GEHT NICHT
  1. Tach,

    habe folgende Expression, allerdings funktioniert diese nicht, wenn der Text einen Zeilenumbruch hat. Was fehlt mir.

    dir fehlt ein Modifier, um deiner Regex zu sagen, dass sie mehrzeilig arbeiten soll, im speziellen PCRE_MULTILINE.

    mfg
    Woodfighter

    1. Hi, ich hatte es mit Multiline auch probiert gehabt - geht nicht

      preg_match_all("/###TEXT(.*)TEXT###/m", $text, $match_text);
      
      1. Tach!

        Hi, ich hatte es mit Multiline auch probiert gehabt - geht nicht preg_match_all("/###TEXT(.*)TEXT###/m", $text, $match_text);

        Dann lies bitte nochmal nach, was PCRE_MULTILINE genau macht und auch den Text vom Modifizierer unter ihm.

        Übrigens, in deinem Beispiel hast du einmal ###TEXT im Text unf TEXT### im Muster.

        dedlfix.

    2. Hallo woodfighter,

      habe folgende Expression, allerdings funktioniert diese nicht, wenn der Text einen Zeilenumbruch hat. Was fehlt mir.

      dir fehlt ein Modifier, um deiner Regex zu sagen, dass sie mehrzeilig arbeiten soll, im speziellen PCRE_MULTILINE.

      Wohl eher PCRE_DOTALL.

      LG,
      CK

  2. Tach!

    habe folgende Expression, allerdings funktioniert diese nicht, wenn der Text einen Zeilenumbruch hat. Was fehlt mir.

    Der Blick ins PHP-Handbuch, Stichwort Modifizierer bei regulären Ausdrücken.

    dedlfix.