Используйте Regex для удаления скобок из вызовов "echo" - PullRequest
0 голосов
/ 23 сентября 2019

Использование Notepad ++ или другого инструмента, который я ищу, чтобы удалить скобки из более чем 500P эхо-вызовов PHP, чтобы перейти от

echo('Something here')

к

echo 'something here'

Я пытался работать с [()] в регулярном выражении, но при этом либо удаляются все круглые скобки, независимо от того, есть ли начальное эхо, либо удаляется также оператор эха.

Ответы [ 2 ]

1 голос
/ 23 сентября 2019
  • Ctrl + H
  • Найти что: \becho\K\((.+?)\)
  • Заменить на: $1 <- естьпробел до $ 1 </li>
  • check Обтекание
  • check Регулярное выражение
  • CHECK . matches newline
  • Заменить все

Объяснение:

\b          # word boundary
echo        # literally
\K          # forget all we have seen until this position
\(          # opening parenthesis
(.+?)       # group 1, 1 or more any character, not greedy
\)          # closing parenthesis

Дано:

echo('Something here'); echo('Something 
here');

Результат для данного примера:

echo 'Something here'; echo 'Something 
here';

Снимок экрана:

enter image description here

1 голос
/ 23 сентября 2019

Проверено в Блокноте ++

Найти что: echo\s*\((.*?)\);

Заменить на: echo \1;

  • Совпадение echo, за которым следуют 0 или более пробелов \s* с последующим (, а затем без жадности сопоставлять и захватывать все остальное (.*?) вплоть до );.
  • Заменить на echo пробел и \1 первая группа захвата (.*?)
  • Возможно, вам потребуется отрегулировать, если между ) и * 1023 могут быть пробелы *

Это не заменит новые строки, такие как:

echo('some stuff...
      and more here... etc...');

Однако есть .соответствует символу новой строки при выборе Регулярное выражение для Режим поиска .

...