Найти все шаблоны, используемые в функциях preg_* в коде PHP

У меня есть около 4k PHP-файлов. В коде используется более 6k функций preg_*.

Мне нужно найти все шаблоны, используемые в коде, и извлечь их. Моя цель - сгруппировать такие шаблоны и заменить их именованной константой.

Я хочу сделать такой список: https://www.exakat.io/reports/codeigniter/datas/inventories_regex.html

Я пытался сделать поиск по регулярному выражению, но я не понял его правильно.

регулярное выражение: https://regexr.com/48s1s

2 ответа

Лучший инструмент, который я могу придумать для такой задачи, - структурный поиск в PhpStorm (коммерческое программное обеспечение).

Основным преимуществом является то, что он рассматривает этот вид поиска как код, поэтому он гораздо более проницателен, чем регулярное выражение или другой шаблон поиска, который может обрабатывать только текст.

Таким образом, вы можете сделать что-то вроде $function$($pattern$,$argument$,$anotherargument$)установите фильтр на функцию для соответствия нескольким функциям и установите поиск для захвата части шаблона.

В зависимости от вариантов этих шаблонов, я бы рекомендовал использовать "Найти и заменить" IDE, например, с кодом Atom или Visual Studio.

  • найти функцию preg_* в вашей кодовой базе
  • извлечь использованный шаблон в константу
  • найти шаблон в ваших файлах
  • замените его определенной константой

Это может быть довольно ручная работа, но вы сможете сделать это шаг за шагом

Другие вопросы по тегам