2017-09-26 9 views
1

私はこのようなルックスからコンテンツを取得しようとしている外部のウェブサイト:「背景色:php - 特定の背景色でliリンクからコンテンツを取得するには?

<div class="the_div_class"> 
<ul> 
    <li><a href="" style="background-color: rgb(252,187,69);">inferno</a></li> 
    <li><a href="" style="background-color: rgb(251,212,142);">heat</a></li> 
</ul> 
</div> 

は、これは私だけのスタイルを持つリチウム行の内容を取得したいけれども、私がこれまで持っているものであるRGB (252,187,69); "何とか$クエリにこれを追加できますか?

<?php 

$doc = new DOMDocument; 
$doc->preserveWhiteSpace = false; 
$doc->strictErrorChecking = false; 
$doc->recover = true; 
$doc->loadHTMLFile('http://www.the_website.com'); 
$xpath = new DOMXPath($doc); 
$query = "//div[@class='the_div_class']"; 
$entries = $xpath->query($query); 
var_dump($entries->item(0)->textContent); 

?> 

ありがとうございます。

答えて

0

特定の背景色でliリンクからコンテンツを取得するにはどうすればよいですか?

<?php 
... 
$query = "//a[@style='background-color: rgb(252,187,69);']"; 
$entries = $xpath->query($query); 

// get text 
var_dump($entries->item(0)->textContent); 

// get link 
var_dump($entries->item(0)->getAttribute('href')); 
?> 
+0

これも私が思ったことです。クエリはまだそれを見つけるように見えません。また、「テキスト太字」などのリンクの他のスタイルもあります。これはクエリに影響しますか?どれくらい厳密ですか? – Kaiwen

+0

これは正確に一致します。追加のスタイルプロパティについては決して言いませんでした。すべてのリンクを見つけてループ内で 'getAttribute( 'style')'を使い、strstr()を使って特定のスタイルをチェックするほうが良いでしょう。 –

+0

あああ...だから正確に一致します。ありがとう、今働いている。 – Kaiwen

関連する問題