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


PHP UTF8::html_entity_decode方法代码示例

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


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

示例1: entity_decode

 /**
  * Convert all HTML entities to native UTF-8 characters
  * Функция декодирует гораздо больше именованных сущностей, чем стандартная html_entity_decode()
  * Все dec и hex сущности так же переводятся в UTF-8.
  */
 public static function entity_decode($s, $is_special_chars = false)
 {
     return UTF8::html_entity_decode($s, $is_special_chars);
 }
开发者ID:rin-nas,项目名称:php-text-words-parser,代码行数:9,代码来源:HTML.php

示例2: parse


//.........这里部分代码省略.........
                                | [сc]_?[тt]                    #ебсти
                               )', '(?<=\\PL) %RE_PRETEXT%
                      (?<= \\pL\\pL|\\pL_\\pL_)
                      [eеё]_?[бb6]    #долбоёб, дураёб, изъёб, заёб, заебай, разъебай, мудоёбы
            ', '(?<=\\PL) я[еуи][бb][уy] (?=\\PL)', '(?<=\\PL) ёб (?=\\PL)', '\\b[ёeе]_?[бb]\\b', '\\b[ёeе]_?[бb]_?[tт]\\b', '[ё]_?[бb] ', '([т]_?[в]_?[о]_?[ю]_?[м]_?[а]_?[т]_?[ь])', '(?<=\\PL) ибу (?=\\PL)', '(?<=\\PL) %RE_PRETEXT%?
                      [бb6]_?[лl]_?(?:я|ya)(?: _         #бля
                                             | _?[тдtd]  #блять, бляди
                                           )', '(?<=\\PL) [пp]_?[иieе]_?[дdg]_?[eеaаoо]_?[rpр]', '(?<=\\PL) \\w*[пp]_?[иieе]_?[дdg]_?[eеaаoо]_?[rpр]\\b
				    #исключения:
                      (?<!импидор)  #Импидор
				', '(?<=\\PL) [дв]_?[еэ]_?[бb]_?[иi]_?[лl]\\b', '(?<=\\PL) [yу][р]_?[оo]_?[д]_?(?![л])', '(?<=\\PL) [мm]_?[уy]_?[дdg]_?[аa]  #мудак, мудачок
                      #исключения:
                      (?<!_myda(?=s_))  #Chelonia mydas -- морская зеленая (суповая) черепаха
            	', '(?<=\\PL) [zж]_?h?_?[оo]_?[pп]_?[aаyуыiеeoо]', '(?<=\\PL) [мm]_?[аa]_?[нnh]_?[дdg]_?[aаyуыiеeoо]_  #манд[ауыео]
                      #исключения:
                      (?<! манда(?=[лн]|рин)
                         | manda(?=[ln]|rin)
                      )
                      ', '(?<=\\PL) [гg]_?[оo]_?[вvb]_?[нnh]_?[оoаaяеeyу]', '(?<=\\PL) f_?u_?[cс]_?k', '[^р]_?[scс]_?[yуu]_?[kк]_?[aаiи]', '[^р]_?[scс]_?[yуu]_?[4ч]_?[кk]', '\\bл_?[оo]_?[хx]\\b', '(?<=\\PL) [шщ]_?[лl]_?[ю]_?[хш]');
            $trans = array('_' => '\\x20', '\\pL' => '[^\\x20\\d]', '\\PL' => '[\\x20\\d]', '[:vowel:]' => '[аеиоуыэюяёaeioyu]', '[:consonant:]' => '[^аеиоуыэюяёaeioyu\\x20\\d]');
            $re_badwords = str_replace('%RE_PRETEXT%', '(?:' . implode('|', $pretext) . ')', '~' . implode('|', $badwords) . '~sxuSX');
            $re_badwords = strtr($re_badwords, $trans);
        }
        $s = UTF8::convert_from($s, $charset);
        $replace = UTF8::convert_from($replace, $charset);
        $ss = $s;
        #saves original string
        if ($is_html) {
            #скрипты не вырезаем, т.к. м.б. обходной маневр на с кодом на javascript:
            #<script>document.write('сло'+'во')</script>
            #хотя давать пользователю возможность использовать код на javascript нехорошо
            $s = is_callable(array('HTML', 'strip_tags')) ? HTML::strip_tags($s, null, true, array('comment', 'style', 'map', 'frameset', 'object', 'applet')) : strip_tags($s);
            #заменяем html-сущности в "чистый" UTF-8
            $s = UTF8::html_entity_decode($s, $is_htmlspecialchars = true);
        }
        if (strtoupper(substr($charset, 0, 3)) === 'UTF') {
            #remove combining diactrical marks
            $additional_chars = array("­");
            $s = UTF8::diactrical_remove($s, $additional_chars);
        }
        #ВотБ/\яПидорыОхуелиБлятьНахуйПохуйПи3децПолный
        if (version_compare(PHP_VERSION, '5.2.0', '>=')) {
            $s = preg_replace('~     [\\p{Lu}3] (?>\\p{Ll}+|/\\\\|[@36]+)++   #Вот
								 (?= [\\p{Lu}3] (?:\\p{Ll} |/\\\\|[@36] ) )   #Бля
							   ~sxuSX', '$0 ', $s);
        }
        $s = UTF8::lowercase($s);
        #получаем в массив только буквы и цифры
        #"с_л@о#во,с\xc2\xa7лово.Слово" -> "с л о во с лово слово слово слово слово"
        preg_match_all('~(?> \\xd0[\\xb0-\\xbf]|\\xd1[\\x80-\\x8f\\x91]  #[а-я]
						  |  /\\\\     #л
						  |  @         #а
						  |  [a-z\\d]+
						  )+
						~sxSX', $s, $m);
        $s = ' ' . implode(' ', $m[0]) . ' ';
        $trans = array('/\\' => 'л', '@' => 'а');
        $s = strtr($s, $trans);
        #цифровые подделки под буквы
        $trans = array('~ [3з]++ [3з\\x20]*+ ~sxuSX' => 'з', '~ [6б]++ [6б\\x20]*+ ~sxuSX' => 'б');
        $s = preg_replace(array_keys($trans), array_values($trans), $s);
        #убираем все повторяющиеся символы, ловим обман типа "х-у-у-й"
        #"сллоооовоо   слово  х у у й" --> "слово слово х у й"
        $s = preg_replace('/(  [\\xd0\\xd1][\\x80-\\xbf] \\x20?  #optimized [а-я]
                             | [a-z\\d] \\x20?
                             ) \\1+
开发者ID:pavlog,项目名称:php-censure,代码行数:67,代码来源:Censure.php

示例3: _entity_decode

 /**
  * @param $str
  *
  * @return string
  */
 private function _entity_decode($str)
 {
     static $entities;
     $flags = Bootup::is_php('5.4') ? ENT_QUOTES | ENT_HTML5 : ENT_QUOTES;
     // decode
     if (strpos($str, $this->xss_hash()) !== false) {
         $str = UTF8::html_entity_decode($str, $flags);
     } else {
         $str = UTF8::urldecode($str);
     }
     // decode-again, for e.g. HHVM, PHP 5.3, miss configured applications ...
     if (preg_match_all('/&[a-z]{2,}[;]{0}/i', $str, $matches)) {
         if (null === $entities) {
             // links:
             // - http://dev.w3.org/html5/html-author/charref
             // - http://www.w3schools.com/charsets/ref_html_entities_n.asp
             $entitiesSecurity = array('&#x00000;' => '', '&#0;' => '', '&#x00001;' => '', '&#1;' => '', '&nvgt;' => '', '&#61253;' => '', '&#x0EF45;' => '', '&shy;' => '', '&#x000AD;' => '', '&#173;' => '', '&colon;' => ':', '&#x0003A;' => ':', '&#58;' => ':', '&lpar;' => '(', '&#x00028;' => '(', '&#40;' => '(', '&rpar;' => ')', '&#x00029;' => ')', '&#41;' => ')', '&quest;' => '?', '&#x0003F;' => '?', '&#63;' => '?', '&sol;' => '/', '&#x0002F;' => '/', '&#47;' => '/', '&apos;' => '\'', '&#x00027;' => '\'', '&#039;' => '\'', '&#39;' => '\'', '&#x27;' => '\'', '&bsol;' => '\'', '&#x0005C;' => '\\', '&#92;' => '\\', '&comma;' => ',', '&#x0002C;' => ',', '&#44;' => ',', '&period;' => '.', '&#x0002E;' => '.', '&quot;' => '"', '&QUOT;' => '"', '&#x00022;' => '"', '&#34;' => '"', '&grave;' => '`', '&DiacriticalGrave;' => '`', '&#x00060;' => '`', '&#96;' => '`', '&#46;' => '.', '&equals;' => '=', '&#x0003D;' => '=', '&#61;' => '=', '&newline;' => "\n", '&#x0000A;' => "\n", '&#10;' => "\n", '&tab;' => "\t", '&#x00009;' => "\n", '&#9;' => "\n");
             $entitiesTmp = get_html_translation_table(HTML_ENTITIES, $flags);
             $entitiesTmp = array_merge(self::$entitiesFallback, $entitiesTmp);
             $entities = array_merge($entitiesSecurity, array_map('strtolower', array_flip($entitiesTmp)));
         }
         $replace = array();
         $matches = array_unique(array_map('strtolower', $matches[0]));
         foreach ($matches as $match) {
             $match .= ';';
             if (array_key_exists($match, $entities) === true) {
                 $replace[$match] = $entities[$match];
             }
         }
         if (count($replace) > 0) {
             $str = str_ireplace(array_keys($replace), array_values($replace), $str);
         }
     }
     return $str;
 }
开发者ID:voku,项目名称:anti-xss,代码行数:40,代码来源:AntiXSS.php


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