使用PHP DOM输出HTML [重复](Output HTML using PHP DOM [duplicate])
这个问题在这里已有答案:
将dom元素的一部分转换为带有html标签的字符串,其中包含 2个答案我试图使用PHP DOM回显HTML:
$doc = new \DomDocument('1.0', 'UTF-8'); $doc->loadHTMLFile("http://www.nu.nl"); $tags = $doc->getElementsByTagName('a'); echo $doc->saveHTML($tags);这让我一页空白。 我也尝试过:
$doc = new DOMDocument(); $doc->loadHTMLFile("http://www.nu.nl"); $links = $doc->getElementsByTagName('a'); foreach ($links as $link) { echo $link->getAttribute('href') . '<br />'; }这让我的“href”成为纯文本。 我已经谷歌搜索了几个小时,并尝试了很多东西,但我无法弄清楚如何输出HTML作为HTML。
This question already has an answer here:
convert part of dom element to string with html tags inside of them 2 answersIm trying to echo HTML using PHP DOM:
$doc = new \DomDocument('1.0', 'UTF-8'); $doc->loadHTMLFile("http://www.nu.nl"); $tags = $doc->getElementsByTagName('a'); echo $doc->saveHTML($tags);This is getting me a blank page. I also tried:
$doc = new DOMDocument(); $doc->loadHTMLFile("http://www.nu.nl"); $links = $doc->getElementsByTagName('a'); foreach ($links as $link) { echo $link->getAttribute('href') . '<br />'; }This is getting me the "href" as plain text. I have Googled for hours now and tried many things but I can't figure out how to output HTML as HTML.
最满意答案
这是一个修复程序,它将为相对链接添加根URL
$pageurl = "http://www.nu.nl"; $html = file_get_contents($pageurl); $html = str_replace('&','&',$html); $doc = new DOMDocument(); @$doc->loadHTML($html); $links = $doc->getElementsByTagName('a'); foreach ($links as $link) { $myLink = $link->getAttribute('href'); if (substr($myLink,0,7) == 'http://') { echo '<a href="'.$myLink.'">'.$myLink.'</a><br/>'; } else { echo '<a href="'.$pageurl.$myLink.'">'.$myLink.'</a><br/>'; } }here is a fix that will add the root url for relative links
$pageurl = "http://www.nu.nl"; $html = file_get_contents($pageurl); $html = str_replace('&','&',$html); $doc = new DOMDocument(); @$doc->loadHTML($html); $links = $doc->getElementsByTagName('a'); foreach ($links as $link) { $myLink = $link->getAttribute('href'); if (substr($myLink,0,7) == 'http://') { echo '<a href="'.$myLink.'">'.$myLink.'</a><br/>'; } else { echo '<a href="'.$pageurl.$myLink.'">'.$myLink.'</a><br/>'; } }更多推荐
发布评论