gpt4 book ai didi

php - 使用 PHP 在 CSS 摘录中为所有选择器添加前缀?

转载 作者:行者123 更新时间:2023-12-03 23:18:12 24 4
gpt4 key购买 nike

好吧,假设我有一个变量 $css包含一些 CSS 代码。我想要做的是在每个选择器前面添加某个文本。例如,以下代码:

#hello, .class{width:1px;height:1px;background-color:#AAA;}
div{font-size:1px}
input, a, span{padding:4px}

将转换为:
#someId #hello, #someId .class{ ... }
#someId div{ ... }
#someId input, #someId a, #someId span{ ... }

我一直在尝试使用几个 explode() s。但是,我还没有能够有效地完成任务。有什么想法吗?

谢谢! JCOC611

最佳答案

根据 Jon 的建议,我编写了以下代码:

<?php

$prefix = '#someId';
$css = '#hello, .class{width:1px;height:1px;background-color:#AAA;}
div{font-size:1px}
input, a, span{padding:4px}';

$parts = explode('}', $css);
foreach ($parts as &$part) {
if (empty($part)) {
continue;
}

$subParts = explode(',', $part);
foreach ($subParts as &$subPart) {
$subPart = $prefix . ' ' . trim($subPart);
}

$part = implode(', ', $subParts);
}

$prefixedCss = implode("}\n", $parts);

echo $prefixedCss;

要查看它是否有效,请参阅 http://codepad.org/bqRd83gu

关于php - 使用 PHP 在 CSS 摘录中为所有选择器添加前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com