使用PHP DOM输出HTML [重复](Output HTML using PHP DOM [duplicate])

编程入门 行业动态 更新时间:2024-10-14 02:18:35
使用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 answers

Im 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('&','&amp;',$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('&','&amp;',$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/>'; } }

更多推荐

本文发布于:2023-08-07 07:41:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1462881.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:DOM   PHP   HTML   duplicate   Output

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!