2014-02-16 87 views
0

如何使用PHP(javascript也可以)從此獲取數據?獲取PHP鏈接的內容

<div class="row first-row"> 
<a href="http://services.runescape.com/m=clan-hiscores/ranking?clanId=346923&amp;ranking=num_members"> 
<div class="left"> 
<p> 
Clanmates 
</p> 
<span> 
165 
</span> 
</div> 
</a> 
<div class="middle"> 
<img src="http://www.runescape.com/img/clan/stats/stats/num_members.png" alt="" title="Clanmates"> 
</div> 
</div> 

(注意我毀了它,因爲它解析)

我想回到那個「165」自動,因爲它改變了。

對不起,要求一個愚蠢的問題,搜索谷歌和本網站並沒有拿出我需要的東西。

我是新這個:/

+1

HTML真的是不正常嗎? – BenM

+1

對這個問題的編輯不應該被批准。 – BenM

+0

@BenM它回滾並固定; OP更新了它。 –

回答

2

您需要使用DOMDocument解析有問題的HTML和提取鏈接文本。沒有更多的代碼或更多關於你想要做什麼的信息,很難給出完整的答案。

編輯:這裏是DOM文檔工作示例:

<?php 

// Replace this with your actual HTML 
$str = '<td class="col3 align"><a href="http://somesite.com/">165</a></td>'; 

// Create an instance of DOMDocument 
$html = new DOMDocument(); 
// load and parse your HTML 
$html->loadHTML($str); 
// Get the a tags 
$a_tags = $html->getElementsByTagName('a'); 
// Loop through them 
foreach ($a_tags as $link) { 
    echo $link->nodeValue, PHP_EOL; // prints 165 
} 

IF代碼確實是壞了HTML像你給的樣品中,你也許能夠使用正則表達式,如這樣的:

$str = 'td class="col3 align">a href="http://somesite.com/">165</a</td '; 
$text = preg_replace('~^.+?a[^>]+>|</a.+$~', '', $str); 
+0

你也可以使用[Tidy](http://www.php.net/manual/en/book.tidy.php)。 –

+0

我懷疑DomDocument會正確解析。這甚至不是有效的HTMl ... – BenM

+0

是啊,沒有幫助..顯示/指給我一個例子嗎?我永遠無法理解的PHP網站.. – Imulate

-3

你可以做到這一點jQuery的是這樣的:

var url = $('.col3.align a').text(); 
+1

-1。這是關於解析,而不是顯示。 – BenM

+0

是的,對不起,我的不好:)編輯答案。 – Banago