Ankündigung

Einklappen
Keine Ankündigung bisher.

preg_replace_callback mit array(): welches Pattern greift gerade?

Einklappen

Neue Werbung 2019

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

  • preg_replace_callback mit array(): welches Pattern greift gerade?

    Aktuell nutze ich:
    Code:
    $text = preg_replace(array('#search1#', '#search2#'), array('#replace1#', '#replace2#'), $text);
    In manchen Regeln brauche ich nun den e-Modifikator, den ich aber aus Sicherheitsgründen nicht einsetzen möchte und stattdessen auf preg_replace_callback() zurückgreifen würde:
    Code:
    function replace_with($m) {
      $array = array('#replace1#', '#replace2#');
    }
    $text = preg_replace_callback(array('#search1#', '#search2#'), 'replace_with', $text);
    Wie ermittel ich nun in replace_with() welcher Search Pattern gerade greift, damit ich entsprechend replacen kann?

    EDIT:
    Gibt es eine NOT-Regel, die im Ergebnis übergeben wird? Dann könnte ich sowas machen wie '#(!ruleID1)(search1)#' und im Ergebnis in $matches[1] ein Switch anwenden. Kommentare wie z.B. bei sowas '/(?#ruleID1)(search1)/' werden leider auch nicht im Ergebnis übergeben
    meine PHP Scripte

Lädt...
X