Я пишу скрипт (в PHP), который будет проходить через PHP-файл, найти все экземпляры функции, заменить имя функции другим именем и манипулировать параметрами. Я использую get_file_contents()
, затем strpos()
, чтобы найти позиции функции, но я пытаюсь найти хороший способ извлечь параметры, как только я узнаю позицию начала функции. Прямо сейчас я просто использую цикл, который просматривает следующие символы в строке файла и подсчитывает количество открывающих и закрывающих круглых скобок. Как только он закрывает параметры функции, он завершает работу и передает строку параметров. К сожалению, возникают проблемы с котировками, заключенными в круглые скобки (то есть function_name(')', 3)
). Я мог бы просто пересчитать котировки, но тогда мне приходится иметь дело с беглыми цитатами, разными типами котировок и т. Д.PHP - скрипт для управления/замены параметров функции в файле PHP?
Есть ли хороший способ, зная начало функции, надежно захватить строку параметров? Спасибо много!
Возможно, вы ищете _tokenizer_ – kero
https://github.com/nikic/tokenstream –
@kingkero: Спасибо за быстрый ответ. Как я могу использовать токенизатор для этого? – golmschenk