2

cssの各行の先頭にクラスを追加したい

が欲しいです

.more {
    padding: 5px 10px 0;
}

#fbook {
    display: inline;
    float: left;
    margin: 0 0 0 4px;
    width: 320px;
}

のように見えるように

.test .more {
    padding: 5px 10px 0;
}

.test #fbook {
    display: inline;
    float: left;
    margin: 0 0 0 4px;
    width: 320px;
}

このようなもの。

^([A-Za-z0-9]+)$

私のCSSがこのようになったらうまくいくでしょう

more
{
    padding: 5px 10px 0;
}

fbook
{
    display: inline;
    float: left;
    margin: 0 0 0 4px;
    width: 320px;
}

しかし、を見つけるときに何も機能していないようです。#{

4

2 に答える 2

2

これを試して

$result = preg_replace('/(?i)^([.#a-z]+\{)$/m', '.test $1', $subject);

説明

"
(?im)         # Match the remainder of the regex with the options: case insensitive (i); ^ and \$ match at line breaks (m)
^             # Assert position at the beginning of a line (at beginning of the string or after a line break character)
(             # Match the regular expression below and capture its match into backreference number 1
   [.#a-z]       # Match a single character present in the list below
                    # One of the characters “.#”
                    # A character in the range between “a” and “z”
      +             # Between one and unlimited times, as many times as possible, giving back as needed (greedy)
   \{            # Match the character “{” literally
)
\$             # Assert position at the end of a line (at the end of the string or before a line break character)
"
于 2012-07-23T05:11:41.017 に答える
1

LESSのような最新のツールを使用できます。コードを取得して、次のようにラップします.test{ }

.test {
    .more {
        padding: 5px 10px 0;
    }

    #fbook {
        display: inline;
        float: left;
        margin: 0 0 0 4px;
        width: 320px;
    }
}

1回だけ必要な場合は、オンラインで実行できます。http: //leafo.net/lessphp/#demo
時々実行したい場合は、使用できる多くの言語のライブラリが少なくなり、クライアント側のJavaScriptオプション。

于 2012-07-23T05:27:34.160 に答える