簡體   English   中英

如何使用簡單的html dom獲取div內部文本

[英]how to use simple html dom get a div inner text

<div style="float: left; margin-top: 10px; font-family: Verdana; font-size: 13px; color: #404040;">innertext</div>

Jow我可以使用簡單的html dom php解析器訪問不具有classid而是span的div的innertext嗎? 謝謝。

如果樣式一致,則可以遍歷文檔中的所有div並按樣式過濾它們。

var divs = document.getElementsById("div");

for (var i = 0; i < divs.length; i++) {
    var div = divs[i];

    // skip the current div if its styles are wrong
    if (div.style.cssFloat !== "left"
     || div.style.marginTop !== "10px"
     || div.style.fontFamily !== "Verdana"
     || div.style.fontSize !== "13px"
     || div.style.color !== "#404040") continue;

    var text = div.innerText || div.textContent;

    // do something with text
}

如果沒有給出idclass則可以使用style標簽的內容,例如:

include('simple_html_dom.php');
$html = file_get_html('http://www.mysite.com/');
foreach($html->find('div[style="float: left; margin-top: 10px; font-family: Verdana; font-size: 13px; color: #404040;"]') as $e)
echo $e->innertext;

您可能會嘗試匹配他們的某些父母(已設置classid ),然后將DOM遍歷到想要的孩子。

謝謝大家。 我太依賴simple_html_dom了,本·布蘭克(Ben Blank)給了我一個好方法。 而且我還嘗試了php正則表達式來自己匹配div。

preg_match_all('/<div.*(style="float: left; margin-top: 10px; font-family: Verdana; font-size: 13px; color: #404040;").*>([\d\D]*)<\/div>/iU',$html,$match);
print_r($match); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM