【发布时间】:2012-04-04 00:09:41
【问题描述】:
我想获取 html 字符串中的所有 a 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);
}
?>
【问题讨论】:
-
作为参考,我强烈建议完全放弃 simple_html_dom。它实际上设法在此处使 PHP 发生段错误,并占用 5 倍的内存,并且以 PHP 内置 DOM 东西的 1/5 速度运行。 (这也不夸张。我通过我拥有的一些测试套件对其进行计时。真实世界时间,而不是基准测试。:P)