使用SimpleHTMLDom库获取所有href链接&改变这些'飞'

时间:2012-04-03 15:30:55

标签: php html parsing

我想访问html字符串中的所有href链接并转换所有链接,如下所示:

<a href='www.google.com'>Google</a>

会改变为这样......

<a href='www.mysite.com/link.php?URL=www.google.com'>Google</a>

有人可以建议我这样做吗?

<?php

require_once( 'simple_html_dom.php');

// load the class
$html = new simple_html_dom();

// load the entire string containing everything user entered here

$string = "<html><body><base href='http://www.site.biz/clients/g/'><a href='www.google.co.uk'>Google</a><a href='http://www.yahoo.co.uk'>Yahoo</a></body></html>";
$return = $html->load($string);

$links = $html->find('a');

foreach ($links as $link) 
{
    var_dump($link);
}

&GT;

1 个答案:

答案 0 :(得分:5)

你有没有试过像

这样的东西
$links = $html->find('a');

foreach ($links as $link) 
{
    if(isset($link->href))
    {
        $link->href = 'www.mysite.com/link.php?URL=' . $link->href;
    }
}

$newHTML = $html->save();

// $newHTML now contains the modified HTML