⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feedforall_xmlparser.inc.php

📁 RSS to html
💻 PHP
📖 第 1 页 / 共 5 页
字号:
    $XMLString = str_replace("&Ecirc;", "&#202;", $XMLString);    $XMLString = str_replace("&Euml;", "&#203;", $XMLString);    $XMLString = str_replace("&Igrave;", "&#204;", $XMLString);    $XMLString = str_replace("&Iacute;", "&#205;", $XMLString);    $XMLString = str_replace("&Icirc;", "&#206;", $XMLString);    $XMLString = str_replace("&Iuml;", "&#207;", $XMLString);    $XMLString = str_replace("&ETH;", "&#208;", $XMLString);    $XMLString = str_replace("&Ntilde;", "&#209;", $XMLString);    $XMLString = str_replace("&Ograve;", "&#210;", $XMLString);    $XMLString = str_replace("&Oacute;", "&#211;", $XMLString);    $XMLString = str_replace("&Ocirc;", "&#212;", $XMLString);    $XMLString = str_replace("&Otilde;", "&#213;", $XMLString);    $XMLString = str_replace("&Ouml;", "&#214;", $XMLString);    $XMLString = str_replace("&times;", "&#215;", $XMLString);    $XMLString = str_replace("&Oslash;", "&#216;", $XMLString);    $XMLString = str_replace("&Ugrave;", "&#217;", $XMLString);    $XMLString = str_replace("&Uacute;", "&#218;", $XMLString);    $XMLString = str_replace("&Ucirc;", "&#219;", $XMLString);    $XMLString = str_replace("&Uuml;", "&#220;", $XMLString);    $XMLString = str_replace("&Yacute;", "&#221;", $XMLString);    $XMLString = str_replace("&THORN;", "&#222;", $XMLString);    $XMLString = str_replace("&szlig;", "&#223;", $XMLString);    $XMLString = str_replace("&agrave;", "&#224;", $XMLString);    $XMLString = str_replace("&aacute;", "&#225;", $XMLString);    $XMLString = str_replace("&acirc;", "&#226;", $XMLString);    $XMLString = str_replace("&atilde;", "&#227;", $XMLString);    $XMLString = str_replace("&auml;", "&#228;", $XMLString);    $XMLString = str_replace("&aring;", "&#229;", $XMLString);    $XMLString = str_replace("&aelig;", "&#230;", $XMLString);    $XMLString = str_replace("&ccedil;", "&#231;", $XMLString);    $XMLString = str_replace("&egrave;", "&#232;", $XMLString);    $XMLString = str_replace("&eacute;", "&#233;", $XMLString);    $XMLString = str_replace("&ecirc;", "&#234;", $XMLString);    $XMLString = str_replace("&euml;", "&#235;", $XMLString);    $XMLString = str_replace("&igrave;", "&#236;", $XMLString);    $XMLString = str_replace("&iacute;", "&#237;", $XMLString);    $XMLString = str_replace("&icirc;", "&#238;", $XMLString);    $XMLString = str_replace("&iuml;", "&#239;", $XMLString);    $XMLString = str_replace("&eth;", "&#240;", $XMLString);    $XMLString = str_replace("&ntilde;", "&#241;", $XMLString);    $XMLString = str_replace("&ograve;", "&#242;", $XMLString);    $XMLString = str_replace("&oacute;", "&#243;", $XMLString);    $XMLString = str_replace("&ocirc;", "&#244;", $XMLString);    $XMLString = str_replace("&otilde;", "&#245;", $XMLString);    $XMLString = str_replace("&ouml;", "&#246;", $XMLString);    $XMLString = str_replace("&divide;", "&#247;", $XMLString);    $XMLString = str_replace("&oslash;", "&#248;", $XMLString);    $XMLString = str_replace("&ugrave;", "&#249;", $XMLString);    $XMLString = str_replace("&uacute;", "&#250;", $XMLString);    $XMLString = str_replace("&ucirc;", "&#251;", $XMLString);    $XMLString = str_replace("&uuml;", "&#252;", $XMLString);    $XMLString = str_replace("&yacute;", "&#253;", $XMLString);    $XMLString = str_replace("&thorn;", "&#254;", $XMLString);    $XMLString = str_replace("&yuml;", "&#255;", $XMLString);    $XMLString = str_replace("&ensp;", "&#8194;", $XMLString);    $XMLString = str_replace("&emsp;", "&#8195;", $XMLString);    $XMLString = str_replace("&thinsp;", "&#8201;", $XMLString);    $XMLString = str_replace("&zwnj;", "&#8204;", $XMLString);    $XMLString = str_replace("&zwj;", "&#8205;", $XMLString);    $XMLString = str_replace("&lrm;", "&#8206;", $XMLString);    $XMLString = str_replace("&rlm;", "&#8207;", $XMLString);    $XMLString = str_replace("&ndash;", "&#8211;", $XMLString);    $XMLString = str_replace("&mdash;", "&#8212;", $XMLString);    $XMLString = str_replace("&lsquo;", "&#8216;", $XMLString);    $XMLString = str_replace("&rsquo;", "&#8217;", $XMLString);    $XMLString = str_replace("&sbquo;", "&#8218;", $XMLString);    $XMLString = str_replace("&ldquo;", "&#8220;", $XMLString);    $XMLString = str_replace("&rdquo;", "&#8221;", $XMLString);    $XMLString = str_replace("&bdquo;", "&#8222;", $XMLString);    $XMLString = str_replace("&dagger;", "&#8224;", $XMLString);    $XMLString = str_replace("&Dagger;", "&#8225;", $XMLString);    $XMLString = str_replace("&bull;", "&#8226;", $XMLString);    $XMLString = str_replace("&hellep;", "&#8230;", $XMLString);    $XMLString = str_replace("&permil;", "&#8240;", $XMLString);    $XMLString = str_replace("&prime;", "&#8242;", $XMLString);    $XMLString = str_replace("&Prime;", "&#8243;", $XMLString);    $XMLString = str_replace("&lsaquo;", "&#8249;", $XMLString);    $XMLString = str_replace("&rsaquo;", "&#8250;", $XMLString);    $XMLString = str_replace("&oline;", "&#8254;", $XMLString);    $XMLString = str_replace("&frasl;", "&#8260;", $XMLString);    $XMLString = str_replace("&euro;", "&#8264;", $XMLString);    return $XMLString;  }}if (function_exists("FeedForAll_fopen") === FALSE) {  Function FeedForAll_fopen($url) {    //    // The internal "hidden function is to do some initialization    if (function_exists("h_FeedForAll_fopen") === FALSE) {      Function h_FeedForAll_fopen($url, $RedirectHistory) {        GLOBAL $connectTimeoutLimit;        GLOBAL $ReadErrorString;        //        // Divide the URL into parts so we can work with it        $parts = parse_url($url);        $thepath = $parts["path"];        if (isset($parts["query"])) {          $thepath .= "?$parts[query]";        }        $domain = $parts["host"];        if (isset($parts["port"])) {          $port = $parts["port"];        } else {          $port = 80;        }        $errno = "";        $errstr = "";        if (isset($connectTimeoutLimit) && $connectTimeoutLimit != 0) {          $fd = fsockopen($domain, $port, $errno, $errstr, $connectTimeoutLimit);        } else {          $fd = fsockopen($domain, $port, $errno, $errstr);        }        if ($fd !== FALSE) {          $request = "GET $thepath HTTP/1.0\r\n";          $request .= "Host: $domain\r\n";          $request .= "User-Agent: FeedForAll rss2html scripts v3\r\n\r\n";          fputs($fd, $request);                    $headerLine = 0;          do {            if (feof($fd) !== FALSE) {              // End of file              break;            }            $header = fgets($fd, 1024);            if (($header[0] == "\n") || ($header[0] == "\r")) {              // End of the headers              break;            }            if ($headerLine == 0) {              $firstHeaderLine = $header;            }            $headerLine++;            if (substr($header, 0, 9) == "Location:") {              //              // We got a location header, try to fetch from the new location              fclose($fd);              if (count($RedirectHistory) < 10) {                $loc = trim(substr($header, 9));                //                // Check if the redirect is relative or absolute                if (substr($loc, 0, 7) != "http://") {                  if ($loc[0] == "/") {                    if ($port == 80) {                      $loc = "http://$domain$loc";                    } else {                      $loc = "http://$domain:$port$loc";                    }                  } else {                    //                    // The path is relative so we need the existing path                    $path = dirname($parts["path"])."/$loc";                    if ($port == 80) {                      $loc = "http://$domain$path";                    } else {                      $loc = "http://$domain:$port$path";                    }                  }                }                for ($x = count($RedirectHistory)-1; $x >= 0; $x--) {                  if (!strcmp($loc, $RedirectHistory[$x])) {                    $ReadErrorString = "Redirection loop detected";                    return FALSE;                  }                }                $RedirectHistory[count($RedirectHistory)] = $loc;                return h_FeedForAll_fopen($loc, $RedirectHistory);              } else {                $ReadErrorString = "Too many redirects";                return FALSE;              }            }          } while (1);        } else {          $ReadErrorString = $errstr($errno);          return FALSE;        }        //        // Get the result code        $parts = explode(" ", $firstHeaderLine);        if (($parts[1] < 200) || (300 <= $parts[1])) {          $ReadErrorString = "HTTP ERROR: ".$parts[1];          fclose($fd);          return FALSE;        }                $result = "";        while (($data = fread($fd, 4096)) != "") {          $result .= $data;        }        fclose($fd);        return $result;      }    }    $RedirectHistory = Array();    return h_FeedForAll_fopen($url, $RedirectHistory);  }}if (function_exists("FeedForAll_scripts_readFile") === FALSE) {  Function FeedForAll_scripts_readFile($filename, $useFopenURL, $useCaching = 0) {    GLOBAL $connectTimeoutLimit;    GLOBAL $ReadErrorString;    GLOBAL $debugLevel;    if ($useCaching);    if (isset($debugLevel) && ($debugLevel >= 1)) {      echo "DIAG: FeedForAll_scripts_readFile($filename, $useFopenURL, $useCaching <= 0)<br>\n";    }        $ReadErrorString = "";    $result = "";    if (stristr($filename, "://")) {      if ($useFopenURL == 1) {        if (($fd = @fopen($filename, "rb")) === FALSE) {          if (isset($debugLevel) && ($debugLevel >= 1)) {            echo "DIAG: FeedForAll_scripts_readFile(): fopen() failed<br>\n";          }          return FALSE;        }        while (($data = fread($fd, 4096)) != "") {          $result .= $data;        }        fclose($fd);      }      elseif ($useFopenURL == -1) {        $result = FeedForAll_fopen($filename);      } else {        FeedForAll_fopen($filename);        // This is a URL so use CURL        $curlHandle = curl_init();        curl_setopt($curlHandle, CURLOPT_URL, $filename);        curl_setopt($curlHandle, CURLOPT_HEADER, 0);        curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);        curl_setopt($curlHandle, CURLOPT_USERAGENT, "FeedForAll rss2html scripts v3");        //    curl_setopt($curlHandle, CURLOPT_AUTOREFERER, 1);        curl_setopt($curlHandle, CURLOPT_REFERER, $filename);        if (!(ini_get("safe_mode") || ini_get("open_basedir"))) {          curl_setopt($curlHandle, CURLOPT_FOLLOWLOCATION, 1);        }        if (isset($connectTimeoutLimit) && $connectTimeoutLimit != 0) {          curl_setopt($curlHandle, CURLOPT_CONNECTTIMEOUT, $connectTimeoutLimit);        }        curl_setopt($curlHandle, CURLOPT_MAXREDIRS, 10);        $result = curl_exec($curlHandle);        if (curl_errno($curlHandle)) {          $ReadErrorString = curl_error($curlHandle);          curl_close($curlHandle);          return FALSE;        }        $http_response = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);        if (($http_response < 200) || (300 <= $http_response)) {          $ReadErrorString = "HTTP ERROR: $http_response";          curl_close($curlHandle);          return FALSE;        }        curl_close($curlHandle);      }    } else {      // This is a local file, so use fopen      if (($fd = @fopen($filename, "rb")) === FALSE) {        if (isset($debugLevel) && ($debugLevel >= 1)) {          echo "DIAG: FeedForAll_scripts_readFile(): fopen(): failed<br>\n";        }        return FALSE;      }      while (($data = fread($fd, 4096)) != "") {        $result .= $data;      }      fclose($fd);      if (isset($debugLevel) && ($debugLevel >= 1)) {        echo "DIAG: FeedForAll_scripts_readFile(): flock() successeded<br>\n";      }    }    return $result;  }}class rootItemClass {  var $operateAs;  var $title;  var $description;  var $contentEncoded;  var $link;  var $pubDate;  var $pubDate_t;  var $pubDateDC;  var $enclosureURL;  var $enclosureLength;  var $enclosureType;  var $categoryArray;  var $category;  var $categoryDomain;  var $guid;  var $guidIsPermaLink;  var $author;  var $comments;  var $source;  var $sourceURL;  var $creativeCommons;  var $rssMeshExtra;  var $rssMeshExtra1;  var $rssMeshExtra2;  var $rssMeshExtra3;  var $rssMeshFeedImageTitle;  var $rssMeshFeedImageUrl;  var $rssMeshFeedImageLink;  var $rssMeshFeedImageDescription;  var $rssMeshFeedImageHeight;  var $rssMeshFeedImageWidth;  var $atomID;  var $atomUpdated;  var $atomContent;  var $atomContentStartPos;  var $atomAuthorEmail;    var $contentEncodedUsed;  var $itemStartPos;  var $itemFullText;  // Constructor  Function rootItemClass($operateAs) {    $this->operateAs = $operateAs;    $this->title = "";    $this->description = "";    $this->contentEncoded = "";    $this->link = "";    $this->pubDate = "";

⌨️ 快捷键说明

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