Это не так просто, как кажется. Большинство из вас, вероятно, думают о регулярном выражении /([A-Z])/_$1/
, которое я нашел по всему Интернету, но моя конкретная ситуация немного сложнее. Моя исходная строка содержит больше контента, который я не хочу преобразовать перед частью, которую я делаю .
Рассмотрим обычный сеттер:
public function setUserId()
Конечно, в этом методе отсутствует параметр. Возможно, у меня много таких методов. Я хотел бы преобразовать эту строку в
public function setUserId($user_id)
это довольно простая вещь для рассмотрения, но не такая простая, как я думаю об этом глубже. Это похоже на то, что Andreas_D в этой теме , но с добавленной проблемой попытки итеративно изменить имя переменной ...
Вероятно, это будет что-то очевидное при использовании регулярных выражений, но я все еще довольно нов с ними. В любом случае, я не могу найти достойного решения этой проблемы нигде в моих поисках.
Редактировать: конечно, я понимаю, что в "публичной функции" нет столиц, которые бы оставляли это в безопасности. Но этот поиск и подстановка будут выполняться с блоками кода, и я хочу убедиться, что измененная строка начинается с "публичной функции".