我知道人们常常被告知使用正则表达式来理解我理解的HTML,但我认为在这种情况下我有一个有效的用途来改变CSS文件。不幸的是,我自己写这篇文章是绝望的。
我正在编写一个需要动态添加/删除CSS文件中的项目的脚本(PHP)。作为示例,CSS文件可以具有以下声明:
.cat-item-4 {
background: #ff0fcd;
}
据推测,正则表达式可以删除整个声明吗?它可能包含来自“background”的其他内容,因此需要发现.cat-item-4类,然后删除它和括号之间的所有内容。整个基本上都是。
任何帮助表示感谢。
答案 0 :(得分:1)
您可以使用正则表达式查找/替换:
$re = "#\.\bcat-item-4\b.+?\}#s";
与修饰符PCRE_DOTALL(s)相结合,这将找到名为bcat-item-4的所有类。 #符号告诉PHP使用什么分隔符,因为在第二个#之后,'s'表示该分隔符。应该匹配换行符,这对于删除整个声明至关重要。