2016-07-21 3 views
0

私は圧縮でCSSファイル全体を取得しようとしています。それはうまく動作しますが、私は空のCSSセレクタを削除したいと思います。私が想像PHPで空のCSSセレクタを削除するpreg_replace

$buffer = preg_replace('/\}[.*?]\{\}/', '\}', $buffer); 

はこのように書き:

$buffer = str_replace('#content>#columns>#article{}', '', $buffer); 
$buffer = str_replace('.menuDeeper88{}', '', $buffer); 

が、私はこのようにそれらを削除しようとした:それはいくつかの空のタグが残され、代わりに手でそれらすべてを除去するように、このファイルには、手続きが生成されます(単に明確化)

Replace any case of '}ANY_CHARACTERS{}' with '' 

しかしにpreg_replace方法は動作しませんでした。私はここに誰かが私がそれを働かせるのを助けることを望んでいた。

事前におねがいします。

答えて

0

使用すると、この:ここにコードを実行する

$css = "#content>#columnsA{min‐width: 500px;}#articleA{ }.menuUpper88{}#content>#columnsB>{min‐width: 700px;}#articleB{}.menuUpper88{}.header {background-color: #fff;background-image: url(image.gif);background-repeat: no-repeat;background-position: top left;}"; 

$css_splitted_by_closed_bracket = preg_split("/\s*\}/i", $css); 

function get_css_without_empty_selector($data) 
{ 
    $result = ""; 
    foreach ($data as $item) { 
     if($item != "" && substr($item, -1) != '{') { 
      $result .= $item . "}"; 
     } 
    } 
    return $result; 
} 

get_css_without_empty_selector($css_splitted_by_closed_bracket); 

:あなたはこのアプローチを使用することができますWhat is the REGEX of a CSS selector

関連する問題