当前位置: 首页>>代码示例>>PHP>>正文


PHP TextCleaner::bad_protocol方法代码示例

本文整理汇总了PHP中TextCleaner::bad_protocol方法的典型用法代码示例。如果您正苦于以下问题:PHP TextCleaner::bad_protocol方法的具体用法?PHP TextCleaner::bad_protocol怎么用?PHP TextCleaner::bad_protocol使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TextCleaner的用法示例。


在下文中一共展示了TextCleaner::bad_protocol方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: clean_url

 /**
  * Checks and Clean a URL
  *
  * Taked from Wordpress
  *
  * @param string $url The URL to be cleaned.
  * @param array $protocols Optional. An array of acceptable protocols.
  *        Defaults to 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet' if not set.
  * @param string $context Optional. How the URL will be used. Default is 'display'.
  * @return string The cleaned $url after the 'cleaned_url' filter is applied.
  */
 public function clean_url($url, $protocols = null, $context = 'display')
 {
     global $aprotocols;
     $original_url = $url;
     if ('' == $url) {
         return $url;
     }
     $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\\|*\'()\\x80-\\xff]|i', '', $url);
     $strip = array('%0d', '%0a', '%0D', '%0A');
     $url = TextCleaner::replace($strip, $url);
     $url = str_replace(';//', '://', $url);
     /* If the URL doesn't appear to contain a scheme, we
      * presume it needs http:// appended (unless a relative
      * link starting with / or a php file).
      */
     if (strpos($url, ':') === false && substr($url, 0, 1) != '/' && substr($url, 0, 1) != '#' && !preg_match('/^[a-z0-9-]+?\\.php/i', $url)) {
         $url = 'http://' . $url;
     }
     // Replace ampersands and single quotes only when displaying.
     if ('display' == $context) {
         $url = preg_replace('/&([^#])(?![a-z]{2,8};)/', '&$1', $url);
         $url = str_replace("'", ''', $url);
     }
     if (!is_array($protocols)) {
         $protocols = array('http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet');
     }
     $aprotocols = $protocols;
     if (TextCleaner::bad_protocol($url, $protocols) != $url) {
         return '';
     }
     return RMEvents::get()->run_event('rmcommon.clean_url', $url, $original_url, $context);
 }
开发者ID:txmodxoops,项目名称:rmcommon,代码行数:43,代码来源:textcleaner.php


注:本文中的TextCleaner::bad_protocol方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。