xmlrss2parser.php

来自「在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布X」· PHP 代码 · 共 741 行 · 第 1/2 页

PHP
741
字号
class RssWebMasterHandler extends XmlTagHandler{    function RssWebMasterHandler()    {    }    function getName()    {        return 'webMaster';    }    function handleCharacterData(&$parser, &$data)    {        switch ($parser->getParentTag()) {        case 'channel':            $parser->setChannelData('webmaster', $data);            break;        default:            break;        }    }}class RssDocsHandler extends XmlTagHandler{    function RssDocsHandler()    {    }    function getName()    {        return 'docs';    }    function handleCharacterData(&$parser, &$data)    {        switch ($parser->getParentTag()) {        case 'channel':            $parser->setChannelData('docs', $data);            break;        default:            break;        }    }}class RssTtlHandler extends XmlTagHandler{    function RssTtlHandler()    {    }    function getName()    {        return 'ttl';    }    function handleCharacterData(&$parser, &$data)    {        switch ($parser->getParentTag()) {        case 'channel':            $parser->setChannelData('ttl', $data);            break;        default:            break;        }    }}class RssTextInputHandler extends XmlTagHandler{    function RssWebMasterHandler()    {    }    function getName()    {        return 'textInput';    }    function handleBeginElement(&$parser, &$attributes)    {        $parser->resetTempArr();    }    function handleEndElement(&$parser)    {        $parser->setChannelData('textinput', $parser->getTempArr());    }}class RssLastBuildDateHandler extends XmlTagHandler{    function RssLastBuildDateHandler()    {    }    function getName()    {        return 'lastBuildDate';    }    function handleCharacterData(&$parser, &$data)    {        switch ($parser->getParentTag()) {        case 'channel':            $parser->setChannelData('lastbuilddate', $data);            break;        default:            break;        }    }}class RssImageHandler extends XmlTagHandler{    function RssImageHandler()    {    }    function getName()    {        return 'image';    }}class RssUrlHandler extends XmlTagHandler{    function RssUrlHandler()    {    }    function getName()    {        return 'url';    }    function handleCharacterData(&$parser, &$data)    {        if ($parser->getParentTag() == 'image') {            $parser->setImageData('url', $data);        }    }}class RssWidthHandler extends XmlTagHandler{    function RssWidthHandler()    {    }    function getName()    {        return 'width';    }    function handleCharacterData(&$parser, &$data)    {        if ($parser->getParentTag() == 'image') {            $parser->setImageData('width', $data);        }    }}class RssHeightHandler extends XmlTagHandler{    function RssHeightHandler()    {    }    function getName()    {        return 'height';    }    function handleCharacterData(&$parser, &$data)    {        if ($parser->getParentTag() == 'image') {            $parser->setImageData('height', $data);        }    }}class RssItemHandler extends XmlTagHandler{    function RssItemHandler()    {    }    function getName()    {        return 'item';    }    function handleBeginElement(&$parser, &$attributes)    {        $parser->resetTempArr();    }    function handleEndElement(&$parser)    {        $parser->setItems($parser->getTempArr());    }}class RssCategoryHandler extends XmlTagHandler{    function RssCategoryHandler()    {    }    function getName()    {        return 'category';    }    function handleCharacterData(&$parser, &$data)    {        switch ($parser->getParentTag()) {        case 'channel':            $parser->setChannelData('category', $data);            break;        case 'item':            $parser->setTempArr('category', $data, ', ');        default:            break;        }    }}class RssCommentsHandler extends XmlTagHandler{    function RssCommentsHandler()    {    }    function getName()    {        return 'comments';    }    function handleCharacterData(&$parser, &$data)    {        if ($parser->getParentTag() == 'item') {            $parser->setTempArr('comments', $data);        }    }}class RssPubDateHandler extends XmlTagHandler{    function RssPubDateHandler()    {    }    function getName()    {        return 'pubDate';    }    function handleCharacterData(&$parser, &$data)    {        switch ($parser->getParentTag()) {        case 'channel':            $parser->setChannelData('pubdate', $data);            break;        case 'item':            $parser->setTempArr('pubdate', $data);            break;        default:            break;        }    }}class RssGuidHandler extends XmlTagHandler{    function RssGuidHandler()    {    }    function getName()    {        return 'guid';    }    function handleCharacterData(&$parser, &$data)    {        if ($parser->getParentTag() == 'item') {            $parser->setTempArr('guid', $data);        }    }}class RssAuthorHandler extends XmlTagHandler{    function RssGuidHandler()    {    }    function getName()    {        return 'author';    }    function handleCharacterData(&$parser, &$data)    {        if ($parser->getParentTag() == 'item') {            $parser->setTempArr('author', $data);        }    }}class RssSourceHandler extends XmlTagHandler{    function RssSourceHandler()    {    }    function getName()    {        return 'source';    }    function handleBeginElement(&$parser, &$attributes)    {        if ($parser->getParentTag() == 'item') {            $parser->setTempArr('source_url', $attributes['url']);        }    }    function handleCharacterData(&$parser, &$data)    {        if ($parser->getParentTag() == 'item') {            $parser->setTempArr('source', $data);        }    }}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?