我的代码:
$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:此函数提取 [填充:] 和 [;] 之间的内容
将返回 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;
}
为此,您的self::extract_unit
方法必须返回一个数组,每次出现padding
一个项目。
然后,您的self::resort_padding_margin
应该接受搜索数组并返回另一个包含修改的数组。或者,在主代码中编写一个循环,并将对此方法的每次调用的结果存储在数组中。
完成后,您可以将两个数组传递给 str_replace
。
顺便说一句,一个CSS应该只有一个padding
定义。你有三个,这有点奇怪:)