本文整理汇总了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);
}
示例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+
示例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('�' => '', '�' => '', '' => '', '' => '', '>⃒' => '', '' => '', '' => '', '­' => '', '­' => '', '­' => '', ':' => ':', ':' => ':', ':' => ':', '(' => '(', '(' => '(', '(' => '(', ')' => ')', ')' => ')', ')' => ')', '?' => '?', '?' => '?', '?' => '?', '/' => '/', '/' => '/', '/' => '/', ''' => '\'', ''' => '\'', ''' => '\'', ''' => '\'', ''' => '\'', '\' => '\'', '\' => '\\', '\' => '\\', ',' => ',', ',' => ',', ',' => ',', '.' => '.', '.' => '.', '"' => '"', '"' => '"', '"' => '"', '"' => '"', '`' => '`', '`' => '`', '`' => '`', '`' => '`', '.' => '.', '=' => '=', '=' => '=', '=' => '=', '&newline;' => "\n", '
' => "\n", ' ' => "\n", '&tab;' => "\t", '	' => "\n", '	' => "\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;
}