私はURLからCSSを掻き集める小さなアプリを開発しています。ここでそれをデモ: はhttp://grahamthomas.me/temp/scrape/test/get-contents.php?url=http://www.grahamthomas.mePHPが配列の値と一致する
スクリプトは1.スタイルシートを削ると内容2.インラインスタイル3スタイルシートに定義インラインを引く
あなたが見る出力はすべてのスタイルの内容である(すなわち@import)見つかりました。そして、それは2つの配列の出力です。 1つはセレクタで、もう1つはセレクタの内容です。
ので、印刷結果がprint文としてこれで、forループから、次のとおりです。
echo $selectors[$i] . "{" . $sstyles[$i] . "}<br>";
ポイントへの:私は掻き取っページからの入力にdiv要素をしようとし、そのスタイルをプリントアウトしています。私はので、CSSの構文の問題に実行しているよ
if (strpos($pull, "#work") == true) {
echo $pull . "<br>";
}
:私は、私が興味いずれかのセレクターの配列を検索するin_arrayとstr_posを使用してみました。上記のループは機能しますが、#workは親として他のスタイルで参照できるため、これらの '子'も出力します。私は#workスタイルそのものを印刷することに興味があります。私が作ってみた
#body-container #work #thumb-hwy a { }
#body-container #work #thumb-bjn a { }
#body-container #work #thumb-wtfc a { }
解決策は以下のとおりです。1.文字列を解析し、何も私は(すなわち#workを受け入れますが、#nextを#workない)を探してるキーの後にありません確認してください。または、ターゲットキーを検索し、他のCSSスタイルインジケータが続くことを確実にするREGEXを介して値を実行し、スタイル自体のみを実行します。
これを行う方法上の任意のヘルプ、または改善のロジックアイデアが高く評価されています!私はこれに苦しんでいます。
おかげで、ネストされたような形式で記述されたときに、特定のセレクタの値を引き出す方法を見ることができませんでした。 –
いつでも、喜んで助けました! –