fix_protocol() public method

public fix_protocol ( $url, $http = 1 )
示例#1
0
 public static function fix_protocol($url, $http = 1)
 {
     $url = SimplePie_Misc::normalize_url($url);
     $parsed = SimplePie_Misc::parse_url($url);
     if ($parsed['scheme'] !== '' && $parsed['scheme'] !== 'http' && $parsed['scheme'] !== 'https') {
         return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['authority'], $parsed['path'], $parsed['query'], $parsed['fragment']), $http);
     }
     if ($parsed['scheme'] === '' && $parsed['authority'] === '' && !file_exists($url)) {
         return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['path'], '', $parsed['query'], $parsed['fragment']), $http);
     }
     if ($http === 2 && $parsed['scheme'] !== '') {
         return "feed:{$url}";
     } elseif ($http === 3 && strtolower($parsed['scheme']) === 'http') {
         return substr_replace($url, 'podcast', 0, 4);
     } elseif ($http === 4 && strtolower($parsed['scheme']) === 'http') {
         return substr_replace($url, 'itpc', 0, 4);
     } else {
         return $url;
     }
 }
示例#2
0
 function fix_protocol($url, $http = 1)
 {
     $parsed = SimplePie_Misc::parse_url($url);
     if (!empty($parsed['scheme']) && strtolower($parsed['scheme']) != 'http' && strtolower($parsed['scheme']) != 'https') {
         return SimplePie_Misc::fix_protocol("{$parsed['authority']}{$parsed['path']}{$parsed['query']}{$parsed['fragment']}", $http);
     }
     if (!file_exists($url) && empty($parsed['scheme'])) {
         return SimplePie_Misc::fix_protocol("http://{$url}", $http);
     }
     if ($http == 2 && !empty($parsed['scheme'])) {
         return "feed:{$url}";
     } else {
         if ($http == 3 && strtolower($parsed['scheme']) == 'http') {
             return substr_replace($url, 'podcast', 0, 4);
         } else {
             return $url;
         }
     }
 }
示例#3
0
 /**
  * This is the URL of the feed you want to parse.
  *
  * This allows you to enter the URL of the feed you want to parse, or the
  * website you want to try to use auto-discovery on. This takes priority
  * over any set raw data.
  *
  * You can set multiple feeds to mash together by passing an array instead
  * of a string for the $url. Remember that with each additional feed comes
  * additional processing and resources.
  *
  * @access public
  * @since 1.0 Preview Release
  * @param mixed $url This is the URL (or array of URLs) that you want to parse.
  * @see SimplePie::set_raw_data()
  */
 public function set_feed_url($url)
 {
     if (is_array($url)) {
         $this->multifeed_url = array();
         foreach ($url as $value) {
             $this->multifeed_url[] = SimplePie_Misc::fix_protocol($value, 1);
         }
     } else {
         $this->feed_url = SimplePie_Misc::fix_protocol($url, 1);
     }
 }
示例#4
0
 function fix_protocol($url, $http = 1)
 {
     $url = SimplePie_Misc::normalize_url($url);
     $parsed = SimplePie_Misc::parse_url($url);
     if (!empty($parsed['scheme']) && !preg_match('/^http(s)?$/i', $parsed['scheme'])) {
         return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['authority'], $parsed['path'], $parsed['query'], $parsed['fragment']), $http);
     }
     if (!file_exists($url) && empty($parsed['scheme'])) {
         return SimplePie_Misc::fix_protocol("http://{$url}", $http);
     }
     if ($http == 2 && !empty($parsed['scheme'])) {
         return "feed:{$url}";
     } elseif ($http == 3 && strtolower($parsed['scheme']) == 'http') {
         return substr_replace($url, 'podcast', 0, 4);
     } elseif ($http == 4 && strtolower($parsed['scheme']) == 'http') {
         return substr_replace($url, 'itpc', 0, 4);
     } else {
         return $url;
     }
 }