簡體   English   中英

在PHP中從表中獲取數據

[英]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 &nbsp;&nbsp;&nbsp;<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,請使用DOMXSLTProcessor 如果您不能依靠它為有效的XHTML,請使用Beautiful Soup或@SimpleCoder引用的SimpleHtmlDom包。

暫無
暫無

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

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