在PHP中从XML内部解析HTML标签

阿德里安

我试图在PHPsimplexml_load_string解析http://uk.news.yahoo.com/rss使用创建自己的RSS feed(用于学习)我被困在阅读标签内的HTML标签<description>

到目前为止,我的代码如下所示:

$feed = file_get_contents('http://uk.news.yahoo.com/rss');
$rss = simplexml_load_string($feed);

//for each element in the feed
foreach ($rss->channel->item as $item) {
    echo '<h3>'. $item->title . '</h3>'; 

        foreach($item->description as $desc){

             //how to read the href from the a tag???

             //this does not work at all
             $tags = $item->xpath('//a');
             foreach ($tags as $tag) {
                 echo $tag['href'];
             }
       }
}

有什么想法如何提取每个HTML标签吗?

谢谢

先生代码

描述内容已对其特殊字符进行了编码,因此它不会被视为XML中的节点,而只是一个字符串。您可以解码特殊字符,然后将HTML加载到DOMDocument中,然后执行您想做的任何事情。例如:

foreach ($rss->channel->item as $item) {
    echo '<h3>'. $item->title . '</h3>'; 

        foreach($item->description as $desc){

            $dom = new DOMDocument();
            $dom->loadHTML(htmlspecialchars_decode((string)$desc));

            $anchors = $dom->getElementsByTagName('a');
            echo $anchors->item(0)->getAttribute('href');
        }
}

XPath也可用于DOMDocument,请参阅DOMXPath

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析XML中的标签

来自分类Dev

解析xml时内部标签的难点

来自分类Dev

解析xml时内部标签的难点

来自分类Dev

解析HTML中的相关标签

来自分类Dev

PHP获取XML内部标签内容

来自分类Dev

PHP:xml_parser“不匹配的标签”-解析HTML(自动关闭标签为<img>的标签)时出错?

来自分类Dev

在php中解析XML

来自分类Dev

在php中解析xml

来自分类Dev

php 解析 xml 未知 nr。标签

来自分类Dev

如何在将HTML标签保持在PHP中的同时替换HTML标签内部的空格(preg_replace)?

来自分类Dev

解析XML文件中的特定标签

来自分类Dev

使用python解析XML中的同名标签

来自分类Dev

解析R中的非嵌套XML标签

来自分类Dev

如何多次解析html标签?的PHP

来自分类Dev

在Polymer中访问html内部内容标签

来自分类Dev

使用PHP中的DOM解析器获取xml文档的标签和内容

来自分类Dev

解析的XML中的HTML符号

来自分类Dev

解析的XML中的HTML符号

来自分类Dev

php变量(内部HTML表单操作标签)尽管在外部表单中递增,但在while循环内部未递增

来自分类Dev

在Rails中的ruby中解析html标签和脚本标签

来自分类Dev

php中的XMl解析查询

来自分类Dev

PHP - 在忽略所有 HTML 标签的同时解析消息中的 URL

来自分类Dev

解析节点内部的XML

来自分类Dev

Groovy:解析内部带有HTML标记的xml

来自分类Dev

Groovy:解析内部带有HTML标记的xml

来自分类Dev

使用NSXMLParser解析节点内部带有html的xml

来自分类Dev

解析分层XML标签

来自分类Dev

从 XML 标签解析值

来自分类Dev

无法解析PHP中的HTML