正则表达式从CSS文件中删除项目

时间:2012-02-17 23:21:09

标签: php regex

我知道人们常常被告知使用正则表达式来理解我理解的HTML,但我认为在这种情况下我有一个有效的用途来改变CSS文件。不幸的是,我自己写这篇文章是绝望的。

我正在编写一个需要动态添加/删除CSS文件中的项目的脚本(PHP)。作为示例,CSS文件可以具有以下声明:

.cat-item-4 {
    background: #ff0fcd;
}

据推测,正则表达式可以删除整个声明吗?它可能包含来自“background”的其他内容,因此需要发现.cat-item-4类,然后删除它和括号之间的所有内容。整个基本上都是。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式查找/替换:

$re = "#\.\bcat-item-4\b.+?\}#s";

与修饰符PCRE_DOTALL(s)相结合,这将找到名为bcat-item-4的所有类。 #符号告诉PHP使用什么分隔符,因为在第二个#之后,'s'表示该分隔符。应该匹配换行符,这对于删除整个声明至关重要。