2016-03-13 24 views
5

CSSセレクタと同じプロパティを組み合わせることができるPHPライブラリ(スクリプト)を探しています。ここで私が何を意味するかです:同じプロパティを持つCSSセレクタを組み合わせる、PHP

.myclass{ 
    font-size: 14px; 
    color: red; 
} 
.something{ 
    font-size: 14px; 
    color: red; 
} 

結果の上にCSSを処理した後でなければなりません:

.myclass, .something{ 
    font-size: 14px; 
    color: red; 
} 

すべてのヘルプは高く評価されます。

特集:http://the-echoplex.net/csscrush/#core--inheritance

図書館と利用:

+0

良いPHPパーサは、いくつかの研究.withあなたがこれを行うことができる可能性がありhttps://github.com/sabberworm/PHP-CSS-Parserあります。 –

+0

。何かのプロパティは常に.myclassに等しいか、あるいは異なっていてもかまいません。 –

+0

あなたのCSSは別ファイルですか? –

答えて

7

これを行うには素敵なPHPライブラリはhttps://github.com/Cerdic/CSSTidy

例コードです:

<?php 
include('class.csstidy.php'); 

$css_code = ' 
.myclass{ 
    font-size: 14px; 
    color: red; 
} 
.something{ 
    font-size: 14px; 
    color: red; 
} 
'; 

$css = new csstidy(); 

$css->$css->set_cfg('merge_selectors', 2); 

$css->parse($css_code); 

echo $css->print->formatted(); 
?> 

出力:

.myclass,.something { 
    font-size:14px; color:red 
} 
+0

ありがとうございます。あなたが提供したコードはトリックではありませんでしたが、私はあなたの答えを編集して、今は期待どおりに動作します。私の編集が承認されると、私はその答えを受け入れ、賞品ポイントをあなたに適用します。乾杯。 –

+0

残念ながら、あなたの編集は3人の異なる査読者によって拒否されました(この編集は元の意図とは異なります。拒絶理由。コードを動作させる主な変更点は何ですか? 'set_cfg'のパラメータとして' TRUE'の代わりに '2'を使用しますか?私の答えを正しく編集できるように。 –

+0

私はちょうどコメントを改善しました。なぜ彼らはそれを拒否するのだろうか?それはあなたのものに似ていて似ていました。とにかく、この行を '$ css-> set_cfg( 'merge_selectors'、2);(代わりに' remove_last_; ')に置き換えてください。 –

関連する問題