2014-02-16 62 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