На входе я принимаю файл.. и через этк конструкцию я его вставляю в шаблон...
Как можно что сделать что бы файл все данные были в одну строку..
Как я понимаю нужно удалить пробелы и переносы и табы..
Может есть какая то функция
Подскажите кто знает...
DlTA
Отправлено: 16 Июня, 2020 - 15:18:13
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
preg_replace(...)
Строитель
Отправлено: 16 Июня, 2020 - 15:37:04
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Второй шаблон '~/\*.*?\*/~' удалит ещё и комментарии. Если их нужно оставить - удалите второй шаблон.
Добрый день!
Речь идет о конкретной задаче: сжатие css-файла.
Предложенный Вами код убирает не только комментарии и переносы строк,
но и пробелы там, где они синтаксически обязательны.
например:
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Vladimir Kheifets чтож так сложно
вопрос решен уже попроще
nikoshot пишет:
Сам разобрался.. вместо '' поставил ' '
Спасибо! За помщь)
'~[\r\n\t]+~u' => ''
это так же может привести к невалидному синтаксису теоретически, а потому и усложнять третьим шаблон нет нужды
Удачи!
Строитель
Отправлено: 19 Июня, 2020 - 18:28:40
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
LIME
Удачи!
LIME
Отправлено: 19 Июня, 2020 - 18:34:10
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Строитель '~/\*.*?\*/~'
а если просто жадность убрать? можно? ато глазам больно чутьчуть от закорючег) (Добавление)
и * на+
опять же чтоб не сливалось в глазах))
Строитель
Отправлено: 19 Июня, 2020 - 19:07:56
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
LIME пишет:
а если просто жадность убрать?
Не, иначе будет захват от первого /* до последнего */, т.е. захватит и промежуточные комментарии, и css-селекторы.
LIME пишет:
и * на+
Теоретически можно, но если попадётся вариант /**/, то он не будет вырезан. Именно поэтому *.
LIME
Отправлено: 19 Июня, 2020 - 19:30:19
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Строитель пишет:
Не, иначе будет захват от первого /* до последнего */,
а что тогда делает отмена жадности? ээ))
что такое жадность?
Строитель пишет:
но если попадётся вариант /**/, то он не будет вырезан
и пусть
наша цель сжать? пофиг на 4 байта в аномально редком кэйсе (Добавление)
хотя есть другой вариант
положить шаблон в переменную и говорящим именем и тогда надо будет только один раз его прочитать и не ломать глаза каждый раз глядя на парад закорючег пли любой доработке
что дорабатываешь только то и читаешь
Строитель
Отправлено: 19 Июня, 2020 - 19:36:13
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
LIME пишет:
а что тогда делает отмена жадности? ээ))
Ищет до первого соответствия */ и прерывает цикл.
LIME пишет:
что такое жадность?
Ну ты ведь уже знаешь, что это такое?
LIME пишет:
и пусть
наша цель сжать? пофиг на 4 байта в аномально редком кэйсе
Если ТС это устраивает, то да )
LIME
Отправлено: 19 Июня, 2020 - 19:38:23
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Строитель пишет:
Ищет до первого соответствия */ и прерывает цикл.
азначит что? правильно
Строитель пишет:
будет захват от первого /* до последнего */,
не случится
очнись эй)) отмена жадности какраз уберет ? из шаблона
Строитель
Отправлено: 19 Июня, 2020 - 19:39:36
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
LIME пишет:
хотя есть другой вариант
положить шаблон в переменную и говорящим именем и тогда надо будет только один раз его прочитать и не ломать глаза каждый раз глядя на парад закорючег пли любой доработке
что дорабатываешь только то и читаешь
А как назвать переменную в этом случае, DeleteCommentsAndSpaces? Может ты и прав, так понятнее для программиста. (Добавление)
LIME пишет:
отмена жадности как раз уберет ? из шаблона
Ты про модификатор U?
LIME
Отправлено: 19 Июня, 2020 - 19:50:55
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Строитель пишет:
Ты про модификатор U?
а ты другой знаешь? агась
DeleteCommentsAndSpaces - пример названия для метода, только с маленькой буквы принято в начале
а для паттерна например
кстати я бы и utf обозначил, иначе могут быть закономерные неожиданности
Строитель
Отправлено: 19 Июня, 2020 - 20:01:18
Участник
Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 74 раз(а)
LIME пишет:
а ты другой знаешь? агась
Я, начитавшись Джеффри Фридла, проникся его идеей по поводу модификатора U. Суть в том, что Джеф считает его использование дурным тоном, и если можно без него обойтись (как например тут, добавить ? и жадность инвертируется), то лучше обойтись.
LIME пишет:
DeleteCommentsAndSpaces - пример названия для метода, только с маленькой буквы принято в начале
Это я в курсе )) Я не про имя метода говорил, а про название переменной для шаблона. Как по мне, то $commentsPattern мало что поясняет.
LIME пишет:
кстати я бы и utf обозначил, иначе могут быть закономерные неожиданности
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.