Поиск вызовов функции в коде

У меня есть проект php, который требует обновления с php 5.3 до php 5.6 (и, в конечном итоге, до php7), и из того, что я вижу в документации по PHP, модификатор / e для preg_replace устарел и должен быть удален, и у меня есть искать все его вхождения и удалять их (и заменять их чем-то другим, например, preg_replace_callback).

Проблема в том, что есть много обращений к preg_replace (около 2100 вызовов), и проверка каждого из них заняла бы много времени, и я хотел бы создать скрипт (php-скрипт или bash-скрипт) который ищет все вызовы preg_replace, которые используют указанный модификатор. Я искал в Интернете и обнаружил, что это должно быть сделано либо с помощью выражения регулярного выражения, либо с помощью токенизатора. Я пытался, но мне не удалось создать сценарий, который делает именно это (в основном потому, что я на самом деле не использовал ни одну из двух упомянутых функций, и не разбираюсь ни в одной из них).

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

Заранее спасибо.

0

Решение

Вы можете использовать редактор кода для поиска и замены:

  1. Сделайте резервную копию вашего кода (если вы не используете git или что-то еще)
  2. Используйте параметр «Найти в папке» (или аналогичный)
  3. Отметьте опцию Регулярное выражение (или аналогичное) при поиске
  4. Используйте простое регулярное выражение, как preg_replace*?\/e
  5. Заменить события один за другим
  6. Переместите свой код в среду PHP 5.6 и посмотрите, работает ли он.
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]