I am using simple_html_dom to retrieve href attribute value from a HTML tag. The data I am scraping is placed in the HTML table. The following code successfully points the data and display it as hyperlinks.
// Include the library to use it.
include_once('simple_html_dom.php');
// Get the HTML from the file or website.
$html = file_get_html('source.html');
// Put all of the <a> tags into an array named $result
$result = $html -> find('table tbody tr td a');
// Run through the array using a foreach loop and print each link out using echo
foreach($result as $link) {
echo $link."<br/>";
}
But I need the href value from a tag, and for this purpose I followed Retrieve multiple value of a <a href> tag using php说明中刮取href值并使用以下代码,但它会再次搜索整个文档并提取位于表外的所有链接。我还将$html
替换为$result
和$link
,但它不会显示任何内容。
preg_match_all("/href=\"(.*?)\"/i", $html, $matches);
print_r($matches);
如何使用上述方法之一从HTML表格下的href属性中获取值?该表没有任何类或id可以在选择器中使用它。
注意:我也调查过:Retrieve The link value form <a href> tag using php但是无法理解。
答案 0 :(得分:1)
我使用preg_match
代替preg_match_all
,然后使用echo而不是print。以下代码以第一个链接为目标并在屏幕上显示。
preg_match("/href=\"(.*?)\"/i", $html, $matches);
echo $matches;