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


PHP Typecho_Common::_allowableAttributes方法代码示例

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


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

示例1: stripTags

 /**
  * 去掉字符串中的html标签
  * 使用方法:
  * <code>
  * $input = '<a href="http://test/test.php" title="example">hello</a>';
  * $output = Typecho_Common::stripTags($input, <a href="">);
  * echo $output;
  * //display: '<a href="http://test/test.php">hello</a>'
  * </code>
  *
  * @access public
  * @param string $html 需要处理的字符串
  * @param string $allowableTags 需要忽略的html标签
  * @return string
  */
 public static function stripTags($html, $allowableTags = NULL)
 {
     $normalizeTags = '';
     $allowableAttributes = array();
     if (!empty($allowableTags) && preg_match_all("/\\<([_a-z0-9-]+)([^>]*)\\>/is", $allowableTags, $tags)) {
         $normalizeTags = '<' . implode('><', array_map('strtolower', $tags[1])) . '>';
         $attributes = array_map('trim', $tags[2]);
         foreach ($attributes as $key => $val) {
             $allowableAttributes[strtolower($tags[1][$key])] = array_map('strtolower', array_keys(self::__parseAttrs($val)));
         }
     }
     self::$_allowableAttributes = $allowableAttributes;
     $html = strip_tags($html, $normalizeTags);
     $html = preg_replace_callback("/<([_a-z0-9-]+)(\\s+[^>]+)?>/is", array('Typecho_Common', '__filterAttrs'), $html);
     return $html;
 }
开发者ID:jiusanzhou,项目名称:spacms,代码行数:31,代码来源:Common.php

示例2: stripTags

 /**
  * 去掉字符串中的html标签
  * 使用方法:
  * <code>
  * $input = '<a href="http://test/test.php" title="example">hello</a>';
  * $output = Typecho_Common::stripTags($input, <a href="">);
  * echo $output;
  * //display: '<a href="http://test/test.php">hello</a>'
  * </code>
  *
  * @access public
  * @param string $string 需要处理的字符串
  * @param string $allowableTags 需要忽略的html标签
  * @return string
  */
 public static function stripTags($html, $allowableTags = NULL)
 {
     if (!empty($allowableTags) && preg_match_all("/\\<([a-z]+)([^>]*)\\>/is", $allowableTags, $tags)) {
         self::$_allowableTags = '|' . implode('|', $tags[1]) . '|';
         if (in_array('code', $tags[1])) {
             $html = self::lockHTML($html);
         }
         $normalizeTags = '<' . implode('><', $tags[1]) . '>';
         $html = strip_tags($html, $normalizeTags);
         $attributes = array_map('trim', $tags[2]);
         $allowableAttributes = array();
         foreach ($attributes as $key => $val) {
             $allowableAttributes[$tags[1][$key]] = array_keys(self::__parseAtttrs($val));
         }
         self::$_allowableAttributes = $allowableAttributes;
         $len = strlen($html);
         $tag = '';
         $attrs = '';
         $pos = -1;
         $quote = '';
         $start = 0;
         for ($i = 0; $i < $len; $i++) {
             if ('<' == $html[$i] && -1 == $pos) {
                 $start = $i;
                 $pos = 0;
             } else {
                 if (0 == $pos && '/' == $html[$i] && empty($tag)) {
                     $pos = -1;
                 } else {
                     if (0 == $pos && ctype_alpha($html[$i])) {
                         $tag .= $html[$i];
                     } else {
                         if (0 == $pos && ctype_space($html[$i])) {
                             $pos = 1;
                         } else {
                             if (1 == $pos && (!empty($quote) || '>' != $html[$i])) {
                                 if (empty($quote) && ('"' == $html[$i] || "'" == $html[$i])) {
                                     $quote = $html[$i];
                                 } else {
                                     if (!empty($quote) && $quote == $html[$i]) {
                                         $quote = '';
                                     }
                                 }
                                 $attrs .= $html[$i];
                             } else {
                                 if (-1 != $pos && empty($quote) && '>' == $html[$i]) {
                                     $out = self::__tagFilter($tag, $attrs);
                                     $outLen = strlen($out);
                                     $nextStart = $start + $outLen;
                                     $tag = '';
                                     $attrs = '';
                                     $html = substr_replace($html, $out, $start, $i - $start + 1);
                                     $len = strlen($html);
                                     $i = $nextStart - 1;
                                     $pos = -1;
                                 }
                             }
                         }
                     }
                 }
             }
         }
         $html = preg_replace_callback("/<\\/([_0-9a-z-]+)>/is", array('Typecho_Common', '__closeTagFilter'), $html);
         $html = self::releaseHTML($html);
     } else {
         $html = strip_tags($html);
     }
     //去掉注释
     return preg_replace("/<\\!\\-\\-[^>]*\\-\\->/s", '', $html);
 }
开发者ID:raindali,项目名称:express,代码行数:85,代码来源:Common.php


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