使用PHP 5提取链接显示文本以及href属性

时间:2009-08-16 05:32:57

标签: php dom hyperlink

$oldSetting = libxml_use_internal_errors( true );

libxml_clear_errors();

我在网上看到很多关于如何使用PHP 5的DOM函数从HTML中提取URL的示例,但我需要获取链接文本以及链接。如果我使用以下代码从锚标记http://X.com中的href属性中提取链接<a href="http://X.com">YYYYY</a>,如何获得与之关联的相应“YYYYY”?

$html = new DOMDocument();
$html->loadHtmlFile($location);
$xpath = new DOMXPath($html);
$links = $xpath->query( '//a' );
foreach ( $links as $link )
{
$url_list[$i++] = $link->getAttribute( 'href' ) . "\n";
}
libxml_clear_errors();
libxml_use_internal_errors( $oldSetting );

2 个答案:

答案 0 :(得分:0)

您正在尝试从xml元素获取cdata。这是一个类似的问题:Retrieving CDATA contents from XML using PHP and simplexml

答案 1 :(得分:0)

DOMDocument()很慢。请改为preg_match()xml_parse_into_struct()