0

これが私が抱えている問題です。私はウェブサイト管理者向けのCSSエディターを作成していますが、特定のスタイルのみを対象としています。必要なのは、CSSファイル(スタイルのタイトル)で単語やフレーズを見つけて、その内容を変更する方法です。つまり、このコードがある場合:

.test_style {
font-size:12px;
color:#ffffff;
}

管理者がスタイルを選択します

test_style

そしてこれを書きます:

font-size:16px;
color:#000000;
font-weight:bold;
margin-top:5px;

PHPスクリプトは対応するスタイルを見つけ、コンテンツを次のように変更する必要があります。

.test_style {
font-size:16px;
color:#000000;
font-weight:bold;
margin-top:5px;
}

誰かが私がこれを行う方法について何かアイデアがありますか?

編集:私の考えは、管理者がドロップダウンメニューからセレクターを選択し、テキストエリアにコードを記述してから、その特定のスタイルに記述したコードをCSSファイルに保存できるようにすることです。

4

5 に答える 5

2

このサイトでも同じアイデアを使用できます:http ://www.barelyfitz.com/projects/csscolor/

リンクを次の場所からコピーしました:PHPをCSSファイルとして使用しますか?

あなたがしなければならないのは、テキストフィールドに実際のcssコンテンツを保存するためにdbを使用することです

于 2012-09-10T13:21:36.070 に答える
2

どうせ彼らが実際に CSS を書くと信じているなら、彼らが編集できるスタイルを別のファイルに取り込んで、それをメールの CSS ファイルにインポートしてみませんか。そうすれば、紛らわしい部分がすべて表示されることはなく、ファイルを変更するたびにファイルを処理することを心配する必要もありません。

于 2012-09-10T13:16:59.670 に答える
1

@Hawiliにはすばらしい答えがありますが、個々のルールを別の場所(フラットファイル、couchDBストアなど)に保存することもできます。ここでの問題はインターフェースです。独自のセレクターを追加できるようにしますか?すでに存在するセレクターのリストから選択してもらいたいですか?彼らが選択しているのなら、一般的な宣言のリストからも選択してもらうか、パラメトリックに変更してみませんか?

あなたが尋ねるべき本当の質問は、この解決策をどのように実装するかだけではなく、問題を分析して、この解決策が正しいものであるかどうかを確認する必要があるということです。実際にそうである場合は、正規表現の一致を使用して、セレクターの後のコードを検索し、ユーザーの入力でそれを変更することもできます。ただし、個別のデータポイントを他の方法で簡単に変更して保存し、その出力をcssファイルに保存することをお勧めします。

于 2012-09-10T13:21:30.410 に答える
1

これはデータベースで行うことができます。テーブルを使用してデータベースを作成しますmysql。テーブルが次のようになるように、セレクター用の列とスタイリング用の別の列を作成します。

---------------------------------
| selector   | style            |
---------------------------------
|.test_style | font-size:12px;  |
|            | color:#ffffff;   |
---------------------------------

echoこのデータをphpファイルに追加して表示することができます。.test_style管理者がスタイルを変更するときは、キーとして探してスタイルフィールドを更新できます。jQuery + AJAXを試して、フォームやページのリロードを回避してデー​​タを送受信できます。

于 2012-09-10T13:24:17.417 に答える
0

このようなことをしてみてください:

  <form method="POST" action="admin/settings/css-example">

  <textarea id="css-example" name="css-example" rows="10">
  <?php $template_file = "../css-example.css";
  $file_handle = fopen($template_file, "rb");
  echo fread($file_handle, filesize($template_file));
  fclose($file_handle);
  ?>
  </textarea>

  <div class="form-actions">
  <input type="hidden" name="section" value="css-example">
  <input type="submit" name="updatesettings" value="Update">
  </div>
  </form>
于 2012-09-10T13:32:22.027 に答える