我的代码:
$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 auto 0 2220px
$replace=self::resort_padding_margin($search);
resort_padding_margin:此函数调整内容
将返回1330px 2220px 0 auto
$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;
}
答案 0 :(得分:2)
要使其正常工作,您的self::extract_unit
方法必须返回一个数组,每次出现padding
一个项目。
然后你的self::resort_padding_margin
应该接受搜索数组并返回另一个带有修改的数组。或者,在主代码中编写一个循环,并将每个调用的结果存储在数组中。
完成后,您可以将两个数组都传递给str_replace
。
顺便说一句,CSS应该只有一个padding
定义。你有三个,这有点奇怪:)