当前位置: 首页 > 面试题库 >

用PHP解析CSS文件

郎翔
2023-03-14
问题内容

我想用一种特殊的方式解析一个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包裹在一些hardcode-html上。所以我只需要编辑我的cssfile并在其中添加类似

我的代码搜索id并用div包裹内部内容。当我只需要在某个东西周围添加一个div以获得清晰或背景时,我就需要快速修复。


问题答案:

这是一个使用正则表达式的快速而肮脏的独立黑客:

$input = '
#stuff {
    background-color: red;
}

#content.postclass-subcontent {
    background-color: red;
}

#content2.postclass-subcontent2 {
    background-color: red;
}
';

$html" target="_blank">cssClassName = 'postclass';
preg_match_all('/(#[a-z0-9]*?\.?'.addcslashes($cssClassName, '-').'.*?)\s?\{/', $input, $matches);
var_dump($matches[1]);

结果是:

array(2) {
  [0]=>
  string(29) "#content.postclass-subcontent"
  [1]=>
  string(31) "#content2.postclass-subcontent2"
}


 类似资料:
  • 问题内容: 我有一个.txt文件,其中包含以下详细信息: 我想做的是解析此广告,使值以更易读的格式(如果可能)转换为数组。 谢谢 问题答案: 您可以这样轻松地做到这一点 首先,您可以使用函数打开文本文件,然后使用函数在换行符上剪切字符串。这样,您将获得一个数组,其中所有行都分开。然后使用该函数可以删除第一行,因为它是标题。 获取行之后,您可以遍历数组并将所有信息放入名为的新数组中。从零行开始,您将

  • 模版中默认的 CSS 文件并不依赖 conditional class names,conditional style sheets,或 Modernizr 的表现效果,尽可以放心按自己的偏好放手去干。 Normalize.css 为了确保所有浏览器的渲染效果更加一致且符合标准,我们引入了 Normalize.css——这是一个现代化、紧密结合 HTML 5 的可选方案,可以用来实现浏览器的 CS

  • 问题内容: 假设我有一个包含以下内容的文件: 如何通过PHP解析内容? 问题答案: 只需使用该功能即可解析CSV文件

  • 问题内容: 我试图使用PHP解析JSON文件。但是我现在被困住了。 这是我的JSON文件的内容: 到目前为止,这是我尝试过的: 但是,因为我不知道的名字(例如,)和所有可用键和值(如,)事前,我想我需要创建一些foreach循环。 我希望为此举一个例子。 问题答案: 要遍历多维数组,可以使用RecursiveArrayIterator 输出:

  • 问题内容: 我正在尝试将DMOZ内容/结构XML文件解析为MySQL,但是所有现有的脚本都已经很老了并且不能很好地工作。如何在PHP中打开大型(+ 1GB)XML文件进行解析? 问题答案: 只有两个php API真正适合处理大文件。第一个是旧的expatapi,第二个是较新的XMLreader函数。这些api读取连续流,而不是将整个树加载到内存中(这是simplexml和DOM所做的)。 例如,您

  • 问题内容: 我有一个JavaScript文件,我想在其中包含一些php代码。问题是我在PHP上也有一些定义,我也想在JS上使用。 有没有办法在HTML中包含.js文件,从而允许服务器首先使用php解释它(在下载到客户端之前)? 谢谢 :) 问题答案: 在输出任何内容之前,您还需要输出正确的标头,您应该具有以下内容: 编辑:正如@Tony_A指出的,应该是。我认为在2010年写这篇文章时,它并不重要