本文整理汇总了PHP中UTF8::convert_from方法的典型用法代码示例。如果您正苦于以下问题:PHP UTF8::convert_from方法的具体用法?PHP UTF8::convert_from怎么用?PHP UTF8::convert_from使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UTF8
的用法示例。
在下文中一共展示了UTF8::convert_from方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parse
//.........这里部分代码省略.........
[бb6]_? (?= [уyиi]_ #ебу, еби
| [ыиiоoaаеeёуy]_?[:consonant:] #ебут, ебать, ебись, ебёт, поеботина, выебываться, ёбарь
#исключения
(?<!_ebo[kt](?=_)|буд) #ebook, eboot, ее будут
(?<!_ebo[kt](?=_)|бур) #ebook, eboot, ее будут
(?<!_ebo[kt](?=_)|был) #ebook, eboot, е был
(?<!_и[kt](?=_)|бай) #и бай
| [лl](?:[оoаaыиiя]|ya) #ебло, ебла, ебливая, еблись, еблысь, ёбля
| [нn]_?[уy] #ёбнул, ёбнутый
| [кk]_?[аa] #взъёбка
| [с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]) . ' ';
示例2: _dat2php
/**
* Метод, который конвертирует словарь Владимира Иванова (см. http://vgiv.narod.ru/yo.html) в PHP-словарь
* Yoficator.dic.dat (cp1251) => Yoficator.dic.php (UTF-8)
* При конвертации комментарии (символ "#" в начале строки), а так же слова, после которых стоит "?" или "*" игнорируются.
*
* @return int кол-во слов или FALSE в случае ошибки
*/
private function _dat2php()
{
if (file_exists($this->_filename('php'))) {
return false;
}
$s = file_get_contents($this->_filename('dat'));
if ($s === false) {
return false;
}
$s = UTF8::convert_from($s, 'cp1251');
$rows = explode("\r\n", $s);
unset($s);
#экономим память
$words = array();
foreach ($rows as $i => &$row) {
$row = trim($row);
if (substr($row, 0, 1) === '#' || substr($row, -1, 1) === '?' || substr($row, -1, 1) === '*') {
unset($rows[$i]);
continue;
}
$p = array();
$count = 0;
$a = explode($this->yo_lc, $row);
if (array_pop($a) === null) {
#ошибка в словаре: в слове нет буквы "ё"...
unset($rows[$i]);
continue;
}
foreach ($a as $v) {
$p[] = strlen($v) / 2 + $count;
$count += 2;
}
$word = str_replace($this->yo_lc, $this->e_lc, $row);
$hash = $this->_hash($word);
if (array_key_exists($hash, $words)) {
trigger_error('Hash collision found, improve _hash() function!', E_USER_ERROR);
}
$value = implode(',', $p);
$words[$hash] = count($a) > 1 ? $value : intval($value);
unset($rows[$i]);
#экономим память
}
ksort($words);
#for best dictionaries compression! :)
$s = "<?php\r\n#autogenerated by " . __CLASS__ . ' PHP class at ' . date('Y-m-d H:i:s') . ', ' . count($words) . " wordforms total\r\n#charset UTF-8" . ($this->is_hash ? ' (hashed)' : '') . "\r\n\$this->dic = " . var_export($words, true) . ";\r\n?>";
if (file_put_contents($this->_filename('php'), $s) === false) {
return false;
}
$this->dic =& $words;
return count($words);
}
示例3: search_phrase
/**
* Возвращает поисковую фразу в кодировке UTF-8 из URL популярных поисковых серверов.
*
* @param scalar|null $url
* @param string|null $host
* @return string|bool returns FALSE if error occured
*/
public static function search_phrase($url, &$host = null)
{
if (!ReflectionTypeHint::isValid()) {
return false;
}
if (!is_string($url)) {
return false;
}
$host = null;
if (!$url) {
return false;
}
$a = @parse_url($url);
if (empty($a['host'])) {
return false;
}
$host = $a['host'];
if (empty($a['query'])) {
return false;
}
$params = array('yandex.ru' => 'text', 'www.yandex.ru' => 'text', 'yaca.yandex.ru' => 'text', 'search.yaca.yandex.ru' => 'text', 'images.yandex.ru' => 'text', 'go.mail.ru' => 'q', 'nova.rambler.ru' => 'query', 'google.ru' => 'q', 'google.com' => 'q', 'www.google.ru' => 'q', 'www.google.com' => 'q', 'search.yahoo.com' => 'p', 'bing.com' => 'q', 'www.bing.com' => 'q', 'sm.aport.ru' => 'r', 'nigma.ru' => 's', 'www.nigma.ru' => 's', 'www.daemon-search.com' => 'q');
if (!array_key_exists($host, $params)) {
return false;
}
$param = $params[$host];
parse_str($a['query'], $query);
$s = @$query[$param];
if (!is_string($s)) {
return false;
}
if (!UTF8::is_utf8($s)) {
$s = UTF8::convert_from($s, 'cp1251');
if (!is_string($s) || !UTF8::is_utf8($s)) {
return false;
}
}
return $s;
}