PHP - изменение текста с регулярным выражением

-4

Я знаю, что этот вопрос задавался много раз, но я искал на сайте, и я не нашел решения.

Я пытаюсь "переопределить" функцию echo php, моя цель - отфильтровать весь вывод php во всех файлах. Мне нужно заменить текст html следующими директивами:

echo"SOME STRING"

с:

echo_custom("SOME STRING")

а также

echo("SOME STRING")

с

echo_custom("SOME STRING)

спросил(а) 2018-08-28T11:31:00+03:00 1 год, 10 месяцев назад
0
55

Вот как это сделать:

$in = <<<EOD
echo"SOME STRING"
echo("SOME STRING")
echo"SOME STRING";
echo("SOME STRING");
EOD;

$out = preg_replace('/echo\(?(.+?)\)?(?=;|\R)/', 'echo_custom($1)', $in);
echo $out,"\n";

Выход:

echo_custom("SOME STRING")
echo_custom("SOME STRING")
echo_custom("SOME STRING");
echo_custom("SOME STRING");

Объяснение:

echo        : literally
\(? : optional opening parenhesis
( : start group 1
.+? : 1 or more any character but newline, not greedy
) : end group 1
\)? : optional closing parenthesis
(?= : positive lookahead, make sure we have after
; : semicolon
| : OR
\R : any kind of linebreak
) : end lookahead

ответил(а) 2018-08-28T16:01:00+03:00 1 год, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема