удалить метод и его коментарий в классе PHP
нам известно только имя метода
предпологаю делать это через регулярку
следующий код замечательно удаляет метод, но остается комментарий к методу
Код:
$plugin = 'Test';
preg_replace('/\s*public\h+function\h+'.$plugin.'\h*\(.*?\}/is', '', $code);
preg_replace('/\s*public\h+function\h+'.$plugin.'\h*\(.*?\}/is', '', $code);
комментарий вида jdoc
пробую удалить регуляркой и получаю...
Код:
preg_replace('/\/\*.*?public\h+function\h+'.$plugin.'\h*\(.*?\}\s*/is', '', $code);
регулярка замещает весь код
то есть квантификатор хоть и отмечен как не жадны, все равно жадный
в принципе это особенности регулярных выражений, но мне от этого легче не становится
Код:
$txt = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $txt);
я не знаю как удалить комментарий конкретного метода не трогая при этом другие методы и комментарии
хотя наверное можно подумать в сторону того что бы при удалении разбирать весь класс и пересобирать его с нуля без нужного метода
кстати мысль. надо попробовать