http://simplehtmldom.sourceforge.net/manual.htmを使用すると、HTMLファイルのインラインCSSを抽出できますか?HTMLからインラインCSSを抽出することはできますか?
このパーサーは純粋なhtmlの場合、(私が間違っていれば正解)CSSタグを解析できません.HTMLファイルのインラインCSSを抽出する方法はありますか?
http://simplehtmldom.sourceforge.net/manual.htmを使用すると、HTMLファイルのインラインCSSを抽出できますか?HTMLからインラインCSSを抽出することはできますか?
このパーサーは純粋なhtmlの場合、(私が間違っていれば正解)CSSタグを解析できません.HTMLファイルのインラインCSSを抽出する方法はありますか?
あなたが本当にこれを抽出するためにsimplehtmldomを使用する必要がある場合:については
$css = $html->find('style')->innertext;
:
<style>
...
</style>
利用の場合
<div style="background:blue; color:white;"></div>
用途:
$css = $html->find('div[style]')->style;
style
atributeまたは複数の<style>
で複数のdiv
がある場合、あなたはそれらの間のループにforeach
を使用することができます。
これは動作するはずです:
$doc = new DOMDocument();
$doc->loadHTML('<html><body style="color: red"></body></html>');
$els = $doc->getElementsByTagName('*');
for($i = 0; $i < $els->length; $i++)
echo $els->item($i)->getAttribute('style'); // color: red
を通常のHTMLパーサの使用:
style
ある場合は、要素の内容を取得style
の場合、その属性の値を取得します。find('css','div[style*="display:block;"] ')
このようにして、属性display:block
のスタイルを見つけることができます。これを必要に応じて変更し、インラインCSSを入手できます。
インラインCSS(内側の 'style'要素)やインラインスタイル(要素の' style'属性の内側)を解析しますか? – alexn
インラインCSSはHTMLの一部です。それは単に 'style'タグの内容、または' style'属性の値です。したがって、HTMLパーサーを使用してこれらの値を取得できるはずです。 – GolezTrol
インラインは常に要素の内側のスタイル属性と呼ばれ、前者はドキュメント内のスタイルになります – jondavidjohn