通过PHP在外部网站上抓取部分链接

时间:2012-08-16 14:56:05

标签: php html dom

我正在使用PHP Simple HTML DOM Parser来获取我需要的一些值。 我现在要做的是抓取一部分网址。

这是源的外观:

<a class="base-header-soldier-link" href="/bf3/soldier/someprofile/stats/123456789/">
  someprofile
</a>

我正在尝试检索值“123456789”,而没有其余的网址。

我正在使用此代码检索网址:

foreach($html->find('.base-header-soldier-name a') as $e)
{
    $battlelog_id = $e->href;
}

所以基本上我想删除其余的URL。

URL可以根据用户名进行更改,因此“someprofile”将被替换。

你们有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

您可以通过几种方式完成,最简单的是basename()

<?php 
$url = '/bf3/soldier/someprofile/stats/123456789/';
echo basename($url);//123456789
?>

或者更健壮的方式是pathinfo()

<?php 
$url = '/bf3/soldier/someprofile/stats/123456789/';
$url_parts = pathinfo($url);
/*
Array
(
    [dirname] => /bf3/soldier/someprofile/stats
    [basename] => 123456789
    [filename] => 123456789
)
*/

echo $url_parts['filename']; //123456789
?>

甚至是explode()

<?php 
$url = '/bf3/soldier/someprofile/stats/123456789/';
$url_parts = explode('/', rtrim($url,'/'));

echo end($url_parts);//123456789
?>