[英]Grabbing data from table in PHP
到目前為止,這是我必須使用的:
<div class="toplist">
<div class="toplist_left"></div>
<div class-"toplist_body">
<div class="toplist_right"></div>
<div class="toplist_body_rank">9</div>
<div class="toplist_body_link"><a href="?support=details&id=204">
Gunz Reloaded <font size=1 color=#d4d2cf>Online</font></small>
</a></div>
<div class="toplist_desc">27 7 || DDoS Protection || Hacks</div>
<div class="toplist_votes">5665</div>
</div>
</div>
我正在嘗試查找具有“ toplist_body_link”匹配項的表並顯示為“ toplist_votes”
你知道我該怎么做嗎?
我嘗試了這個:
<?php
$topsite = file_get_contents('[removed link]');
preg_match(('#<div class=\"toplist_body_votes\">(.*)#', $topsite, $match) && preg_match('#<a href=\"?support=details&id=204\">#'));
$votes = $match[1];
echo "Current Votes: $votes \n";
?>
您知道哪里出了問題,為什么它不起作用?
代替正則表達式,使用PHP庫進行DOM操作。 我相信我以前曾經用過這個: http : //simplehtmldom.sourceforge.net/ 。 使用非常簡單。 因為這不是XML,所以PHP DOM可能對您不起作用。
如果是xHTML,則建議使用PHP XML解析器對其進行解析,然后使用節點而不是正則表達式訪問數據。 通常,正則表達式是解析html / xhmtl的壞主意。
http://php.net/manual/en/book.xml.php
上面的SimpleCode是正確的,請使用DOM解析器: http : //simplehtmldom.sourceforge.net/
這個問題以及有關使用正則表達式解析HTML的所有問題都以史詩般的方式得到了解答,這是RegEx匹配開放標簽(XHTML自包含標簽除外)的最佳答案。 必讀。
另請參閱無畏領袖的博客 。
不要使用regexp,請使用真正的解析解決方案。 如果您的HTML是有效的XML / XHTML,請使用DOM或XSLTProcessor 。 如果您不能依靠它為有效的XHTML,請使用Beautiful Soup或@SimpleCoder引用的SimpleHtmlDom包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.