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 auto02220pxを返します

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

Resort_padding_margin:この関数はコンテンツを再利用します

1330px2220px0自動を返します

$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メソッドが配列を返す必要があります。。の出現ごとに1つのアイテムが返されますpadding

次にself::resort_padding_margin、検索配列を受け入れて、変更を加えた別の配列を返す必要があります。または、メインコードにループを記述し、このメソッドの各呼び出しの結果を配列内に格納します。

完了したら、両方の配列をに渡すことができますstr_replace

ところで、CSSには1つのpadding定義しかありません。あなたは3つ持っています、それは少し奇妙です:)

于 2012-05-19T13:53:54.147 に答える