問題タブ [css-parsing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
28386 参照

php - 正規表現による CSS の解析

CSS エディターを作成していて、CSS ドキュメントからデータを取得できる正規表現を作成しようとしています。この正規表現は、1 つのプロパティがある場合に機能しますが、すべてのプロパティに対して機能させることはできません。PHP で preg/perl 構文を使用しています。

正規表現

テストケース

期待される結果

本当の結果

助けてくれてありがとう-これは午後中ずっと私を混乱させていました!

0 投票する
4 に答える
1875 参照

css - ANTLR を使用した CSS の解析 - エッジ ケース

ANTLRを使用してCSS、または少なくとも基本を解析しようとしています。ただし、レクサールールでいくつかの問題が発生しています。問題は、ID セレクターと 16 進数のカラー値の間のあいまいさにあります。わかりやすくするために簡略化された文法を使用して、次の入力を検討してください。

および次のパーサー規則:

およびこれらのレクサー トークン:

#bbb はセレクターであるはずなのに、COLOR トークンとしてトークン化されているため、これは機能しません。16 進数で始まらないようにセレクターを変更すると、正常に動作します。これを解決する方法がわかりません。特定のトークンが特定の位置にある場合に、特定のトークンを COLOR トークンとしてのみ扱うように ANTLR に指示する方法はありますか? たとえば、それがプロパティ ルール内にある場合、それはカラー トークンであると安全に想定できます。そうでない場合は、セレクターとして扱います。

どんな助けでも大歓迎です!


解決策: 文法でやりすぎたことがわかったので、おそらく AST を使用するコードで対処する必要があります。CSS にはあいまいなトークンが多すぎて、異なるトークンに確実に分割できません。そのため、私が現在使用しているアプローチは、基本的に「#」、「.」、「:」などの特殊文字と中括弧をトークン化し、消費者コード。はるかにうまく機能し、エッジケースへの対処が容易になります。

0 投票する
2 に答える
4855 参照

css - Nokogiriでスタイルシートを解析することは可能ですか?

必要な 2 時間かけてこれをグーグルで調べましたが、良い答えが見つからないので、人間がグーグルのコンピュータに勝てるか見てみましょう。

これらのスタイルをドキュメント内の要素に適用できるように (スタイルをインライン化するために)、Ruby でスタイルシートを解析したいと考えています。だから、私は次のようなものを取りたい

そして、それをある種のノコギリオブジェクトに抽出することができます.

Nokogiri クラス「CSS::Parser」( http://nokogiri.rubyforge.org/nokogiri/Nokogiri/CSS/Parser.html ) には確かに有望な名前がありますが、それが何であるか、またはどのようにそれは機能するので、私がここで求めていることができるかどうかはわかりません。

私の最終目標は、次のようなコードを記述できるようにすることです。

スタイルシートからスタイルを抽出し、それらをすべてインライン スタイルとしてドキュメントに追加します。

0 投票する
1 に答える
556 参照

python - cssutils python モジュール使用時の [dir=rtl] のスタイルシート解析エラー

cssutils python モジュールを使用して css スタイルシートを解析しています。パーサーは、「[dir=ltr] div.row div.label」セレクターに到達するとエラーを出力します。

パーサーを満足させ、同じ機能を維持するように CSS を変更する方法を見つけたいと思います。

これの標準的な方法は次のとおりです。

注: 「dir」は、ヘブライ語やアラビア語などの言語のテキストの方向を制御するために使用されます。

http://www.unics.uni-hannover.de/nhtcapri/bidirectional-text.html

0 投票する
4 に答える
853 参照

colors - ウェブサイトの主な色を取得する方法は?

サイトの「特徴的な」色を取得できないかと考えています。たとえば、TechCrunch は緑、ReadWriteWeb は赤、CNN も赤、Microsoft は青み、PHP は紫など...

正確である必要はありません。最良の推測にすぎません。

私が心に留めているいくつかのこと:

  • すべての CSS ルールを解析し、最も多くの要素に一致するルールを見つけます
  • すべての css ルールを解析し、最大の寸法を持つ要素の背景色を見つけます
  • body要素の背景画像を取得し、その主な色を取得します(これは画像で可能ですか)
  • どういうわけかサイトの「ヘッダー」(背景の css 属性が設定された DOM の最初の要素?) を見つけて、その背景を取得する

また、黒、グレー、白を除去する方法も必要です。

これは実現可能ですか?他にアイデアはありますか?

PS私の英語でごめんなさい

0 投票する
2 に答える
73 参照

javascript - JavaScript を使用してページを区別する

JavaScript を使用して、(私が知る限り) 同じ div を持つ 2 つのほぼ同一のページを区別する方法に興味があります。このようなページの例としては、Google ホームページGoogle 検索結果があります。どちらがどれであるかを正しく識別できる方法はありますか?

0 投票する
2 に答える
1248 参照

java - 構文解析中のCSSOMParserエラー

cssファイルall.cssの解析中に次のエラーが発生します

壊れたcssタグに関連しているようです。誰かがこれを明確にできますか?ファイル内のcssルールを使用して、htmlページ(cssにリンクされている)の特定の要素を把握しています。これらのエラーは実際にcssルールの解析に影響し、したがってWebページ上のhtml要素のプロファイリングに影響しますか?(確かにそうですが、そうでないことを願っています)

前もって感謝します..

0 投票する
1 に答える
811 参照

css-parsing - cssutils.py 解析ツリーを ID および CLASS セレクターで検索

Python で cssutils を使用して CSS スタイル ファイルを解析していますが、解析ツリーを ID とクラスで検索したいと考えています。つまり、いくつかの CSS スタイル ファイルといくつかのクラス名 (例: div navbar) が与えられた場合、このセレクターによってカプセル化されたスタイル ルールを確認するにはどうすればよいでしょうか? 既存のドキュメント ( http://packages.python.org/cssutils/index.htm )のどこを見るべきかについての解決策またはアイデアをいただければ幸いです。

0 投票する
2 に答える
3661 参照

php - PHPCSSパーサー-文字列へのセレクター宣言

CSSファイルを読み取れるようにし、特定のセレクターのすべての宣言を文字列に抽出できるようにしたい。たとえば、次のスタイルシートがあるとします。

次のようなdiv.itemを呼び出して取得できるようにしたいです。

これは私に次のような文字列を与えるはずです:

私は周りを見回していますが、それを正確に実行できるパーサーを見つけることができません。何か案は?

参考までに:CSSからセレクターを変換し、スタイルを動的に電子メールメッセージのHTML要素に埋め込むことができるようにするためにこれが必要です。

ソリューション の編集:私は自分の大まかなソリューションを考え出し、探していたものを実行するためのクラスを作成しました。以下の私自身の答えを参照してください。

0 投票する
1 に答える
230 参照

java - CSS 解析: cssparser を使用した特定のエンティティの照合

JSON スキーマを使用して JSON を検証する私のプロジェクトの 1つでは、2 つのformat仕様の正確なコードがありません:colorstyle.

最初の仕様 はcolor、CSS 2.1 で有効な色を示します。2 番目の はstyle、CSS 2.1 がスタイルと見なすものです。

2 つの問題があります。

  • 私は CSS についてあまり知りません。
  • 私はcssparserを使って仕事をするのに苦労しています。

現在のコード ( here forcolorおよびhere for style) は、無効な入力を確実に許可し、潜在的に有効な入力を許可しません... また、jStyleParser (cssbox プロジェクトの一部) を使用できればと思いますが、残念ながら Maven では使用できません。私にとっての要件。

cssparser可能な場合、上記の両方のフォーマット仕様を正確に識別するためにどのように使用できますか?