Можно создать дубликат:
Converting ereg expressions to pregEREG() для preg_match() для PHP 5.3/4 миграции с использованием регулярного выражения
Мой план: Откройте каждый PHP файл и прочитать его строки один за другим один. Если есть функция ereg(), замените ее на preg_match(), а аргумент шаблона заключите в косые черты '/'.
При чтении файла, если я получаю следующую строку, как заменить «ereg» на «preg_match» и «pattern» на «шаблон, заключенный в косые черты (/)», используя регулярное выражение?
$test = ereg('\.([^\.]*$)', $file_src_name, $extension); // Old PHP
в
//PHP migration fix
//$test = ereg('\.([^\.]*$)', $file_src_name, $extension); // Old PHP
$test = preg_match('/\.([^\.]*$)/', $file_src_name, $extension); // PHP 5.3/4
, если это возможно, я могу дать это в папку и она будет преобразовывать все файлы, совместимые с PHP 5.3/4.
Примечание: Старый код должен быть там, как заметил, что именно поэтому я не использую находку любого редактора и заменить
У вас есть * это * много регэкспы? Если нет, делать это вручную, вероятно, быстрее, чем писать сценарий для него. – ThiefMaster
@ThiefMaster: да, мой проект действительно старый, поэтому используется так много ereg, eregi, ereg_replace, split. Я определил весь несовместимый код с PHP_CodeSniffer. – San
preg_replace ("/ \ bereg [\ s] * \ (\ '(. *?) \' /", "Preg_match (\"/$ 1/\ "", $ myLine); - что-то вроде этого работает как я Ожидаемый! – San