用php获取链接的内容

时间:2014-02-16 16:17:14

标签: javascript php html hyperlink innertext

我如何使用PHP(javascript也可以)从中获取数据?

    <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',因为它会改变。

很抱歉提出一个愚蠢的问题,搜索谷歌,这个网站没有提出我需要的东西。

我是新来的:/

2 个答案:

答案 0 :(得分:2)

您需要使用DOMDocument来解析相关HTML并提取链接文本。如果没有更多的代码或更多关于你要做什么的信息,很难给出完整的答案。

编辑:以下是DOMDocument的一个工作示例:

<?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);

答案 1 :(得分:-3)

你可以在jQuery中这样做:

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