У меня есть следующий шаблон:
[\{\}].*[\{\}]
Со следующими тестовыми строками (при необходимости можно предоставить больше):
}.prop{hello:ars;} //shouldn't match
}#prop{} //should match
}.prop #prop {} //should match
Цель шаблона — найти пустые наборы правил CSS. Может ли кто-нибудь подсказать, как мне исключить совпадения с символами между вторым набором скобок? Я буду обновлять шаблон по мере приближения к решению.
редактируйте:
на http://gskinner.com/RegExr/
этот шаблон: [\}].*[\{]{1}[/}]{1}
кажется, дает желаемый результат, хотя он не работает при передаче на php по определенным причинам Я не понимаю.
редактировать:
извиняюсь, если это должен быть отдельный вопрос.
Использование шаблона в первом редактировании в php:
$pattern = "/[\}].*[\{]{1}[/}]{1}/";
preg_match_all ($pattern, $new_css, $p);
print_r($p);
Если $new_css — это строка содержимого загруженного CSS-файла, содержащего пустые наборы правил, $p никогда не заполняется. Тем не менее, я знаю, что этот шаблон в порядке. Кто-нибудь может понять, в чем проблема?
редактировать: окончательное решение
//take out other unwanted characters
$pattern = "/\}([\.#\w]\w+\s*)+{}/";
//do it twice to beat any deformation
$new_css = preg_replace ($pattern, '}', $new_css);
$new_css = preg_replace ($pattern, '}', $new_css);
Подробнее здесь: https://stackoverflow.com/questions/115 ... -css-rules
Правила CSS, соответствующие шаблону ⇐ Php
Кемеровские программисты php общаются здесь
1760437602
Anonymous
У меня есть следующий шаблон:
[\{\}].*[\{\}]
Со следующими тестовыми строками (при необходимости можно предоставить больше):
}.prop{hello:ars;} //shouldn't match
}#prop{} //should match
}.prop #prop {} //should match
Цель шаблона — найти пустые наборы правил CSS. Может ли кто-нибудь подсказать, как мне исключить совпадения с символами между вторым набором скобок? Я буду обновлять шаблон по мере приближения к решению.
редактируйте:
на http://gskinner.com/RegExr/
этот шаблон: [\}].*[\{]{1}[/}]{1}
кажется, дает желаемый результат, хотя он не работает при передаче на php по определенным причинам Я не понимаю.
редактировать:
извиняюсь, если это должен быть отдельный вопрос.
Использование шаблона в первом редактировании в php:
$pattern = "/[\}].*[\{]{1}[/}]{1}/";
preg_match_all ($pattern, $new_css, $p);
print_r($p);
Если $new_css — это строка содержимого загруженного CSS-файла, содержащего пустые наборы правил, $p никогда не заполняется. Тем не менее, я знаю, что этот шаблон в порядке. Кто-нибудь может понять, в чем проблема?
редактировать: [b]окончательное решение[/b]
//take out other unwanted characters
$pattern = "/\}([\.#\w]\w+\s*)+{}/";
//do it twice to beat any deformation
$new_css = preg_replace ($pattern, '}', $new_css);
$new_css = preg_replace ($pattern, '}', $new_css);
Подробнее здесь: [url]https://stackoverflow.com/questions/11545580/pattern-matching-css-rules[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия