
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||||||||
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 45 Пользователь №: 23837 На форуме: Карма: ![]() |
Подскажите, как вырезать все комментарии в PHP коде, т.е. удалить все конструкции типа:
//коммент /* еще коммент */ /************************** третий коммент **************************/ Спустя 38 минут, 33 секунды (31.01.2012 - 22:00) Winston написал(а): echo preg_replace('#/\**.*\*/#sU', '', $code); Спустя 20 минут, 27 секунд (31.01.2012 - 22:21) eurobax написал(а): Что-то съедает последнюю переменную $code = ' Результат: global Спустя 3 минуты, 6 секунд (31.01.2012 - 22:24) Winston написал(а): echo preg_replace('#/\*.*\*/#sU', '', $code); Спустя 12 минут, 4 секунды (31.01.2012 - 22:36) asokol написал(а): Может быть так? echo preg_replace('%/\*.*?\*/|//.*?$|#.*?$%msu', '', $code); Спустя 4 минуты, 1 секунда (31.01.2012 - 22:40) Winston написал(а): Упс... я затупил, показалось, что только многострочные комменты нужно вырезать ![]() Спустя 6 минут, 26 секунд (31.01.2012 - 22:46) eurobax написал(а): Отлично, но такое все равно не переваривает //******************************* это я привожу выдержки из реальных скриптов. Задача в том, чтобы скрипты обобщить в один большой модуль для продакшн, и все лишнее нужно убрать. Спустя 1 минута, 21 секунда (31.01.2012 - 22:48) eurobax написал(а):
Во, сейчас получилось! Спустя 42 секунды (31.01.2012 - 22:49) inpost написал(а): Не вижу смысла убирать лишнее. Типо, чтобы у клиента не было подсказок... странно всё это ![]() Спустя 53 секунды (31.01.2012 - 22:49) Winston написал(а): Ну вариант asokol'a должен переварить Спустя 40 минут, 21 секунда (31.01.2012 - 23:30) eurobax написал(а):
Обнаружил нестыковку. В некоторых местах однострочные комменты вырезаются и "прихватывают" с собой следующую строку. Оказалось, в текстах конец строки где-то \n, а где \r\n. Насколько я понял, $ отвечает за конец строки \r\n, но похоже игнорирует \n Как это можно переделать? Спустя 4 минуты, 19 секунд (31.01.2012 - 23:34) Winston написал(а): Убери модификатор s Спустя 47 секунд (31.01.2012 - 23:35) asokol написал(а): Спустя 39 минут, 15 секунд (1.02.2012 - 00:14) eurobax написал(а):
Мда.. менял-менял, ронял несколько раз апач. Так и не получилось, там черт ногу сломит, то \r, то \n, то \r\n. Ну и ладно. А вот за ссылку спасибо, оказывается есть у PHP этот "велосипед": http://docs.php.net/manual/en/function.php...-whitespace.php Спустя 3 минуты, 4 секунды (1.02.2012 - 00:17) eurobax написал(а):
Вместо 2Мб кода с комментами, до которых клиенту нет дела, получилось 300Кб. Разве это не классно? Спустя 3 минуты, 24 секунды (1.02.2012 - 00:21) inpost написал(а): eurobax 2 мб комментов? Ну не знаю, что там можно столько настрочить ![]() А если серьёзно, то интерпретатор игнорирует комменты, на производительность влиять, соответственно, не будет. Разве что если сервер очень маленький, что 1 лишний мб. не поддерживает... Хотя где ещё такие сервера остались по 5мб ![]() А конец строки: //.*(\n|\r|\n\r) с модификатором U. |
||||||||||
![]() |
![]() ![]() ![]() |