📄 feedforall_xmlparser.inc.php
字号:
$XMLString = str_replace("Ê", "Ê", $XMLString); $XMLString = str_replace("Ë", "Ë", $XMLString); $XMLString = str_replace("Ì", "Ì", $XMLString); $XMLString = str_replace("Í", "Í", $XMLString); $XMLString = str_replace("Î", "Î", $XMLString); $XMLString = str_replace("Ï", "Ï", $XMLString); $XMLString = str_replace("Ð", "Ð", $XMLString); $XMLString = str_replace("Ñ", "Ñ", $XMLString); $XMLString = str_replace("Ò", "Ò", $XMLString); $XMLString = str_replace("Ó", "Ó", $XMLString); $XMLString = str_replace("Ô", "Ô", $XMLString); $XMLString = str_replace("Õ", "Õ", $XMLString); $XMLString = str_replace("Ö", "Ö", $XMLString); $XMLString = str_replace("×", "×", $XMLString); $XMLString = str_replace("Ø", "Ø", $XMLString); $XMLString = str_replace("Ù", "Ù", $XMLString); $XMLString = str_replace("Ú", "Ú", $XMLString); $XMLString = str_replace("Û", "Û", $XMLString); $XMLString = str_replace("Ü", "Ü", $XMLString); $XMLString = str_replace("Ý", "Ý", $XMLString); $XMLString = str_replace("Þ", "Þ", $XMLString); $XMLString = str_replace("ß", "ß", $XMLString); $XMLString = str_replace("à", "à", $XMLString); $XMLString = str_replace("á", "á", $XMLString); $XMLString = str_replace("â", "â", $XMLString); $XMLString = str_replace("ã", "ã", $XMLString); $XMLString = str_replace("ä", "ä", $XMLString); $XMLString = str_replace("å", "å", $XMLString); $XMLString = str_replace("æ", "æ", $XMLString); $XMLString = str_replace("ç", "ç", $XMLString); $XMLString = str_replace("è", "è", $XMLString); $XMLString = str_replace("é", "é", $XMLString); $XMLString = str_replace("ê", "ê", $XMLString); $XMLString = str_replace("ë", "ë", $XMLString); $XMLString = str_replace("ì", "ì", $XMLString); $XMLString = str_replace("í", "í", $XMLString); $XMLString = str_replace("î", "î", $XMLString); $XMLString = str_replace("ï", "ï", $XMLString); $XMLString = str_replace("ð", "ð", $XMLString); $XMLString = str_replace("ñ", "ñ", $XMLString); $XMLString = str_replace("ò", "ò", $XMLString); $XMLString = str_replace("ó", "ó", $XMLString); $XMLString = str_replace("ô", "ô", $XMLString); $XMLString = str_replace("õ", "õ", $XMLString); $XMLString = str_replace("ö", "ö", $XMLString); $XMLString = str_replace("÷", "÷", $XMLString); $XMLString = str_replace("ø", "ø", $XMLString); $XMLString = str_replace("ù", "ù", $XMLString); $XMLString = str_replace("ú", "ú", $XMLString); $XMLString = str_replace("û", "û", $XMLString); $XMLString = str_replace("ü", "ü", $XMLString); $XMLString = str_replace("ý", "ý", $XMLString); $XMLString = str_replace("þ", "þ", $XMLString); $XMLString = str_replace("ÿ", "ÿ", $XMLString); $XMLString = str_replace(" ", " ", $XMLString); $XMLString = str_replace(" ", " ", $XMLString); $XMLString = str_replace(" ", " ", $XMLString); $XMLString = str_replace("‌", "‌", $XMLString); $XMLString = str_replace("‍", "‍", $XMLString); $XMLString = str_replace("‎", "‎", $XMLString); $XMLString = str_replace("‏", "‏", $XMLString); $XMLString = str_replace("–", "–", $XMLString); $XMLString = str_replace("—", "—", $XMLString); $XMLString = str_replace("‘", "‘", $XMLString); $XMLString = str_replace("’", "’", $XMLString); $XMLString = str_replace("‚", "‚", $XMLString); $XMLString = str_replace("“", "“", $XMLString); $XMLString = str_replace("”", "”", $XMLString); $XMLString = str_replace("„", "„", $XMLString); $XMLString = str_replace("†", "†", $XMLString); $XMLString = str_replace("‡", "‡", $XMLString); $XMLString = str_replace("•", "•", $XMLString); $XMLString = str_replace("&hellep;", "…", $XMLString); $XMLString = str_replace("‰", "‰", $XMLString); $XMLString = str_replace("′", "′", $XMLString); $XMLString = str_replace("″", "″", $XMLString); $XMLString = str_replace("‹", "‹", $XMLString); $XMLString = str_replace("›", "›", $XMLString); $XMLString = str_replace("‾", "‾", $XMLString); $XMLString = str_replace("⁄", "⁄", $XMLString); $XMLString = str_replace("€", "⁈", $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 + -