我想用PHP解析(以一种特殊的方式)一个CSS文件。
示例:cssfile.css
:
#stuff {
background-color: red;
}
#content.postclass-subcontent {
background-color: red;
}
#content2.postclass-subcontent2 {
background-color: red;
}
我希望PHP返回名称中包含postclass的每个类名。
在本例中,结果看起来像一个数组,其中包含:
arrayentry1:
#content.postclass-subcontent
arrayentry2:
#content2.postclass-subcontent2
但是我在正则表达式方面更差。不知何故搜索“postclass”,然后用图形表示洞线并放入数组中。
谢谢,我用它来解析一个类似于confic文件的css文件。
$(function () {
$.get('main.css', function (data) {
data = data.match(/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g);
if (data) {
$.each(data, function (index, value) {
value = value.substring(0, value.length - 2);
$(value.split(' .')[0]).wrapInner('<div class="' + value.split('.')[1] + '" />');
});
}
});
});
是我最后的代码。所以我可以很容易地用一个div包裹一些硬代码-html,而不需要编辑布局。所以我只需要编辑我的cssfile并在那里添加一些东西,比如
id .postclass-class {某些样式}
我的代码搜索id并用div Package 内部内容。当我只需要在某个东西周围添加一个div以获得清晰或背景时,我需要它作为快速修复。
7条答案
按热度按时间j0pj023g1#
PHP中有一个非常好的CSS parser class。使用它。下面是它的示例代码:
c6ubokkw2#
我找到了解决办法:
用途:
qyyhg6bp3#
为了完整起见,还有另一个用于解析CSS的库:Sabberworm / PHP-CSS解析器.
首页:http://www.sabberworm.com/blog/2010/6/10/php-css-parser
GitHub:http://github.com/sabberworm/PHP-CSS-Parser
要点:http://packagist.org/packages/sabberworm/php-css-parser
上次更新日期:2017年5月31日(之所以这样说,是因为博客条目中的日期可能会误导您,使您以为它不再更新。
不幸的是,这个项目有点太健壮了。从非常简单的CSS创建非常健谈的结构。而且在第一次使用之前,你必须处理composer(我自己最终为每个文件添加了require_once到parser.php)。
i7uq4tfw4#
数据类型
jslywgbw5#
除了Gabriel安德森对处理css @媒体查询的回答之外,子选择器
>
、base64图像和input[type="button"]:hover
资源
mi7gmzs66#
这里是一个快速和肮脏的独立黑客使用regex:
结果:
dsf9zpds7#
我 正在 寻找 一 个 函数 来 读取 css 数据 ( 字符 串 或 文件 ) 。
但 对 我 最 有用 的 函数 是 fromGabriel Anderson
我 重新 命名 了 这个 函数 , 并 对 它 进行 了 一些 扩展 , 包括 curly brake 等等 。 这个 函数 现在 能够 读取 带有 css 内容 的 文件 或 字符 串 。
错误 的 css 数据 会 生成 错误 消息 , 这些 错误 消息 会 输出 到 键 * ' debug-errors - cssreader ' * 下 。
1.如果 弯曲 制动 器 不 相等 , 则 会 出现 错误 消息 。
1.如果 它 是 一 个 文件 , 但 它 不 存在 , 则 会 出现 一 条 错误 消息 。
1.如果 字符 串 为 空 ( 字符 串 或 文件 名 ) , 也 一样 。
您 还 可以 使用 regExp 搜索 模式 来 过滤 输出 。
中 的 每 一 个
我 还 对 它 进行 了 扩展 , 使 您 只能 在 数组 中 显示 选择 器 。
例如 , 我 使用 函数 读取 icofont/fontawesome css 文件 , 我 只 输出 css 选择 器 并 进一步 处理 它们 。
因此 , 我 编写 了 概述 页面 , 以 查看 可用 的 图标 。
这里 举 一 个 小 例子
格式
输出 量
格式
也许 其他 人 和 我 一样 需要 这个 函数 , 下面 我 把 整个 函数 包括 在 例子 中 。
格式