//коммент
/*
еще коммент
*/
/**************************
третий коммент
**************************/
Спустя 38 минут, 33 секунды (31.01.2012 - 22:00) Winston написал(а):
echo preg_replace('#/\**.*\*/#sU', '', $code);
Спустя 20 минут, 27 секунд (31.01.2012 - 22:21) eurobax написал(а):
Что-то съедает последнюю переменную
Результат:
$code = '
global
$gl_error_desc, //коды ошибок системы
$gl_subsystems //подсистемы
/*
прочее
*/
';
Результат:
global
$gl_error_desc,
Спустя 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 написал(а):
Отлично, но такое все равно не переваривает
это я привожу выдержки из реальных скриптов. Задача в том, чтобы скрипты обобщить в один большой модуль для продакшн, и все лишнее нужно убрать.
//*******************************
$level = 0;
/*******************************/
это я привожу выдержки из реальных скриптов. Задача в том, чтобы скрипты обобщить в один большой модуль для продакшн, и все лишнее нужно убрать.
Спустя 1 минута, 21 секунда (31.01.2012 - 22:48) eurobax написал(а):
Цитата (asokol @ 31.01.2012 - 19:36) |
Может быть так?echo preg_replace('%/\*.*?\*/|//.*?$|#.*?$%msu', '', $code); |
Во, сейчас получилось!
Спустя 42 секунды (31.01.2012 - 22:49) inpost написал(а):
Не вижу смысла убирать лишнее.
Типо, чтобы у клиента не было подсказок... странно всё это
Типо, чтобы у клиента не было подсказок... странно всё это

Спустя 53 секунды (31.01.2012 - 22:49) Winston написал(а):
Ну вариант asokol'a должен переварить
Спустя 40 минут, 21 секунда (31.01.2012 - 23:30) eurobax написал(а):
Цитата (eurobax @ 31.01.2012 - 19:48) | ||
Во, сейчас получилось! |
Обнаружил нестыковку. В некоторых местах однострочные комменты вырезаются и "прихватывают" с собой следующую строку. Оказалось, в текстах конец строки где-то \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 написал(а):
Цитата (asokol @ 31.01.2012 - 20:35) |
Поменять $ на \n. Или: http://stackoverflow.com/questions/503871/...s-from-php-code |
Мда.. менял-менял, ронял несколько раз апач. Так и не получилось, там черт ногу сломит, то \r, то \n, то \r\n. Ну и ладно.
А вот за ссылку спасибо, оказывается есть у PHP этот "велосипед": http://docs.php.net/manual/en/function.php...-whitespace.php
Спустя 3 минуты, 4 секунды (1.02.2012 - 00:17) eurobax написал(а):
Цитата (inpost @ 31.01.2012 - 19:49) |
Не вижу смысла убирать лишнее. Типо, чтобы у клиента не было подсказок... странно всё это ![]() |
Вместо 2Мб кода с комментами, до которых клиенту нет дела, получилось 300Кб. Разве это не классно?
Спустя 3 минуты, 24 секунды (1.02.2012 - 00:21) inpost написал(а):
eurobax
2 мб комментов? Ну не знаю, что там можно столько настрочить
В, батенька, поэт!
А если серьёзно, то интерпретатор игнорирует комменты, на производительность влиять, соответственно, не будет. Разве что если сервер очень маленький, что 1 лишний мб. не поддерживает... Хотя где ещё такие сервера остались по 5мб
А конец строки:
//.*(\n|\r|\n\r) с модификатором U.
2 мб комментов? Ну не знаю, что там можно столько настрочить

А если серьёзно, то интерпретатор игнорирует комменты, на производительность влиять, соответственно, не будет. Разве что если сервер очень маленький, что 1 лишний мб. не поддерживает... Хотя где ещё такие сервера остались по 5мб

А конец строки:
//.*(\n|\r|\n\r) с модификатором U.