2016-10-29 19 views
1

内部CSSにある背景イメージのURLを取得したい。私はあなたがbackground-imageのリンクをしたい場合は、あなたがこの正規表現を使用することができますHTML構造xpathを使って内部CSSから背景イメージを取得するには?

<div id="plugin-title" class="with-banner"> 
<div class="vignette"></div> 

<style type="text/css"> 
#plugin-title { width:772px; height:250px; background-size:772px 250px; background-image: url(//ps.w.org/jetpack/assets/banner-772x250.png?rev=1279667); } 
</style> 
<h2 itemprop="name">Jetpack by WordPress.com</h2> 
</div> 
+0

こんにちは。あなたはPHPで直接行うことはできません。しかし、常に同じ種類のデータを分析する場合は、REGEXを使用して画像のURLを抽出することができます。または、コード&css(このライブラリが存在する場合)を分析する強力なライブラリをWeb上で検索できます。 Regex =最も簡単な方法は 'preg_match( '/ background-image:url \((。[^ \)] *)\)/ sUi'、$ content)' –

答えて

1

です。ここPHPで

をXPathを使用しています。

background-image.*?url\((.*?)\) 

実装例:

$html = <<<EOT 
<div id="plugin-title" class="with-banner"> 
    <div class="vignette"></div> 
    <style type="text/css"> 
    #plugin-title { width:772px; height:250px; background-size:772px 250px; background-image: url(//ps.w.org/jetpack/assets/banner-772x250.png?rev=1279667); } 
    </style> 
    <h2 itemprop="name">Jetpack by WordPress.com</h2> 
</div> 
EOT; 

preg_match_all('/background-image.*?url\((.*?)\)/mi', $html, $matches); 

$matchesはすべてbackground-image URLが含まれています。

関連する問題