2

我的代码:

$css=".class1{
    padding:1330px 2220px 0 auto;
    padding:10px auto 0 20px;
    padding:101px auto 0 200px;
}";

$search=self::extract_unit($css,"padding:",";"); 

extract_unit:此函数提取 [padding:] 和 [;] 之间的内容

将返回 1330px 自动 0 2220px

$replace=self::resort_padding_margin($search);

Resort_padding_margin:此函数对内容进行重新排序

将返回 1330px 2220px 0 自动

$css = str_replace($search, $replace, $css);
echo $css;

当我应用此代码时,结果将显示如下:

.class1{
    padding:1330px auto 0 2220px;
    padding:10px auto 0 20px;
    padding:101px auto 0 200px;
}

那么我如何使用这种方法来应用所有填充以像这样显示

.class1{
    padding:1330px auto 0 2220px;
    padding:10px 20px 0 auto;
    padding:101px 200px 0 auto;
}
4

1 回答 1

2

为此,您的self::extract_unit方法必须返回一个数组,每次出现一个padding.

然后你self::resort_padding_margin应该接受搜索数组并返回另一个包含修改的数组。或者,在主代码中编写一个循环,并将每次调用此方法的结果存储在一个数组中。

完成后,您可以将两个数组传递给str_replace.

顺便说一句,CSS 应该只有一个padding定义。你有三个,这有点奇怪:)

于 2012-05-19T13:53:54.147 回答