/** * 获取字符串长度 * @param string $str 字符串 * @return int */ function length($str) { $str = (string) $str; if (function_exists('mb_strlen')) { return mb_strlen($str); } if (is_utf8($str)) { return strlen($str); } $count = 0; for ($i = 0; $i < strlen($str); $i++) { $value = ord($str[$i]); if ($value > 127) { $count++; if ($value >= 192 && $value <= 223) { $i++; } elseif ($value >= 224 && $value <= 239) { $i = $i + 2; } elseif ($value >= 240 && $value <= 247) { $i = $i + 3; } } $count++; } return $count; }
public function process_raids($error_out = true) { if ($this->in->get('checkraid') == $this->user->lang('rli_send')) { $this->rli->flush_cache(); if ($this->in->exists('log') && $this->rli->config('parser') != 'empty') { $log = trim(str_replace("&", "and", stripslashes(html_entity_decode($_POST['log'])))); $log = is_utf8($log) ? $log : utf8_encode($log); $this->parser->parse_string($log); } $this->rli->add_cache_data('progress', 'members'); } $this->raid->add_new($this->in->get('raid_add', 0)); if ($this->in->get('checkraid') == $this->user->lang('rli_calc_note_value')) { $this->raid->recalc(); } $this->raid->display(true); $this->tpl->assign_vars(array('USE_TIMEDKP' => $this->rli->config('use_dkp') & 2, 'USE_BOSSDKP' => $this->rli->config('use_dkp') & 1, 'USE_EVENTDKP' => $this->rli->config('use_dkp') & 4)); //language lang2tpl(); // error processing if ($error_out) { $this->process_error('process_raids'); } $this->rli->nav(0); $this->core->set_vars(array('page_title' => sprintf($this->user->lang('admin_title_prefix'), $this->config->get('guildtag'), $this->config->get('dkp_name')) . ': ' . $this->user->lang('rli_check_data'), 'template_path' => $this->pm->get_data('raidlogimport', 'template_path'), 'template_file' => 'raids.html', 'display' => true)); }
public function getAllExpression($flush = false) { $cache_id = '_model_expression'; if (($res = F($cache_id)) === false || $flush === true) { global $ts; $pkg = $ts['site']['expression']; $filepath = SITE_PATH . '/public/themes/' . $ts['site']['site_theme'] . '/images/expression/' . $pkg; require_once ADDON_PATH . '/libs/Io/Dir.class.php'; $expression = new Dir($filepath); $expression_pkg = $expression->toArray(); $res = array(); foreach ($expression_pkg as $value) { if (!is_utf8($value['filename'])) { $value['filename'] = auto_charset($value['filename'], 'GBK', 'UTF8'); } list($file) = explode(".", $value['filename']); $temp['title'] = $file; $temp['emotion'] = '[' . $file . ']'; $temp['filename'] = $value['filename']; $temp['type'] = $pkg; $res[$temp['emotion']] = $temp; } F($cache_id, $res); } return $res; }
function surligner_mots($page, $surcharge_surligne = '') { $surlignejs_engines = array(array("," . str_replace(array("/", "."), array("\\/", "\\."), $GLOBALS['meta']['adresse_site']) . ",i", ",recherche=([^&]+),i"), array(",^http://(www\\.)?google\\.,i", ",q=([^&]+),i"), array(",^http://(www\\.)?search\\.yahoo\\.,i", ",p=([^&]+),i"), array(",^http://(www\\.)?search\\.msn\\.,i", ",q=([^&]+),i"), array(",^http://(www\\.)?search\\.live\\.,i", ",query=([^&]+),i"), array(",^http://(www\\.)?search\\.aol\\.,i", ",userQuery=([^&]+),i"), array(",^http://(www\\.)?ask\\.com,i", ",q=([^&]+),i"), array(",^http://(www\\.)?altavista\\.,i", ",q=([^&]+),i"), array(",^http://(www\\.)?feedster\\.,i", ",q=([^&]+),i"), array(",^http://(www\\.)?search\\.lycos\\.,i", ",q=([^&]+),i"), array(",^http://(www\\.)?alltheweb\\.,i", ",q=([^&]+),i"), array(",^http://(www\\.)?technorati\\.com,i", ",([^\\?\\/]+)(?:\\?.*)\$,i")); $ref = $_SERVER['HTTP_REFERER']; //avoid a js injection if ($surcharge_surligne) { $surcharge_surligne = preg_replace(",(?<!\\\\)((?:(?>\\\\){2})*)('),", "\$1\\\\\$2", $surcharge_surligne); $surcharge_surligne = str_replace("\\", "\\\\", $surcharge_surligne); if ($GLOBALS['meta']['charset'] == 'utf-8') { include_spip('inc/charsets'); if (!is_utf8($surcharge_surligne)) { $surcharge_surligne = utf8_encode($surcharge_surligne); } } } foreach ($surlignejs_engines as $engine) { if ($surcharge_surligne || preg_match($engine[0], $ref) && preg_match($engine[1], $ref)) { //good referrer found or var_recherche is not null include_spip('inc/filtres'); $script = "\n <script type='text/javascript' src='" . url_absolue(find_in_path('javascript/SearchHighlight.js')) . "'></script>\n <script type='text/javascript'>/*<![CDATA[*/\n if (window.jQuery)\n (function(\$){\$(function(){\n \$(document).SearchHighlight({\n tag_name:'" . (html5_permis() ? 'mark' : 'span') . "',\n style_name:'spip_surligne',\n exact:'whole',\n style_name_suffix:false,\n engines:[/^" . str_replace(array("/", "."), array("\\/", "\\."), $GLOBALS['meta']['adresse_site']) . "/i,/recherche=([^&]+)/i],\n highlight:'.surlignable',\n nohighlight:'.pas_surlignable'" . ($surcharge_surligne ? ",\n keys:'{$surcharge_surligne}'" : "") . ",\n min_length: 3\n })\n });\n })(jQuery);\n /*]]>*/</script>\n "; // on l'insere juste avant </head>, sinon tout en bas if (is_null($l = strpos($page, '</head>'))) { $l = strlen($page); } $page = substr_replace($page, $script, $l, 0); break; } } return $page; }
function contenu_document($arg, $charset = '') { if (is_numeric($arg)) { $r = sql_fetsel("fichier,distant", "spip_documents", "id_document=" . intval($arg)); if (!$r) { return ''; } $f = $r['fichier']; $f = $r['distant'] == 'oui' ? _DIR_RACINE . copie_locale($f) : get_spip_doc($f); } else { if (!@file_exists($f = $arg)) { if (!($f = copie_locale($f))) { return ''; } $f = _DIR_RACINE . $f; } } $r = spip_file_get_contents($f); if ($charset) { include_spip('inc/charset'); if ($charset !== 'auto') { $r = importer_charset($r, $charset); } elseif ($GLOBALS['meta']['charset'] == 'utf-8' and !is_utf8($r)) { $r = importer_charset($r, CHARSET_JOINT); } } return $r; }
function utf8decode($text) { if (is_utf8($text)) { return utf8_decode($text); } return $text; }
function remove_accents($string) { if (!preg_match('/[\\x80-\\xff]/', $string)) { return $string; } //Конвертируем урлы в латиницу if (is_utf8($string)) { $chars = array("А" => "a", "Б" => "b", "В" => "v", "Г" => "g", "Д" => "d", "Е" => "e", "Ж" => "j", "З" => "z", "И" => "i", "Й" => "y", "К" => "k", "Л" => "l", "М" => "m", "Н" => "n", "О" => "o", "П" => "p", "Р" => "r", "С" => "s", "Т" => "t", "У" => "u", "Ф" => "f", "Х" => "h", "Ц" => "ts", "Ч" => "ch", "Ш" => "sh", "Щ" => "sch", "Ъ" => "", "Ы" => "yi", "Ь" => "", "Э" => "e", "Ю" => "yu", "Я" => "ya", "а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "ж" => "j", "з" => "z", "и" => "i", "й" => "y", "к" => "k", "л" => "l", "м" => "m", "н" => "n", "о" => "o", "п" => "p", "р" => "r", "с" => "s", "т" => "t", "у" => "u", "ф" => "f", "х" => "h", "ц" => "ts", "ч" => "ch", "ш" => "sh", "щ" => "sch", "ъ" => "y", "ы" => "yi", "ь" => "", "э" => "e", "ю" => "yu", "я" => "ya", " " => "_", "." => "", "/" => "_", "-" => "_"); $string = strtr($string, $chars); } if (is_utf8($string)) { $chars = array(chr(195) . chr(128) => 'A', chr(195) . chr(129) => 'A', chr(195) . chr(130) => 'A', chr(195) . chr(131) => 'A', chr(195) . chr(132) => 'A', chr(195) . chr(133) => 'A', chr(195) . chr(135) => 'C', chr(195) . chr(136) => 'E', chr(195) . chr(137) => 'E', chr(195) . chr(138) => 'E', chr(195) . chr(139) => 'E', chr(195) . chr(140) => 'I', chr(195) . chr(141) => 'I', chr(195) . chr(142) => 'I', chr(195) . chr(143) => 'I', chr(195) . chr(145) => 'N', chr(195) . chr(146) => 'O', chr(195) . chr(147) => 'O', chr(195) . chr(148) => 'O', chr(195) . chr(149) => 'O', chr(195) . chr(150) => 'O', chr(195) . chr(153) => 'U', chr(195) . chr(154) => 'U', chr(195) . chr(155) => 'U', chr(195) . chr(156) => 'U', chr(195) . chr(157) => 'Y', chr(195) . chr(159) => 's', chr(195) . chr(160) => 'a', chr(195) . chr(161) => 'a', chr(195) . chr(162) => 'a', chr(195) . chr(163) => 'a', chr(195) . chr(164) => 'a', chr(195) . chr(165) => 'a', chr(195) . chr(167) => 'c', chr(195) . chr(168) => 'e', chr(195) . chr(169) => 'e', chr(195) . chr(170) => 'e', chr(195) . chr(171) => 'e', chr(195) . chr(172) => 'i', chr(195) . chr(173) => 'i', chr(195) . chr(174) => 'i', chr(195) . chr(175) => 'i', chr(195) . chr(177) => 'n', chr(195) . chr(178) => 'o', chr(195) . chr(179) => 'o', chr(195) . chr(180) => 'o', chr(195) . chr(181) => 'o', chr(195) . chr(182) => 'o', chr(195) . chr(182) => 'o', chr(195) . chr(185) => 'u', chr(195) . chr(186) => 'u', chr(195) . chr(187) => 'u', chr(195) . chr(188) => 'u', chr(195) . chr(189) => 'y', chr(195) . chr(191) => 'y', chr(196) . chr(128) => 'A', chr(196) . chr(129) => 'a', chr(196) . chr(130) => 'A', chr(196) . chr(131) => 'a', chr(196) . chr(132) => 'A', chr(196) . chr(133) => 'a', chr(196) . chr(134) => 'C', chr(196) . chr(135) => 'c', chr(196) . chr(136) => 'C', chr(196) . chr(137) => 'c', chr(196) . chr(138) => 'C', chr(196) . chr(139) => 'c', chr(196) . chr(140) => 'C', chr(196) . chr(141) => 'c', chr(196) . chr(142) => 'D', chr(196) . chr(143) => 'd', chr(196) . chr(144) => 'D', chr(196) . chr(145) => 'd', chr(196) . chr(146) => 'E', chr(196) . chr(147) => 'e', chr(196) . chr(148) => 'E', chr(196) . chr(149) => 'e', chr(196) . chr(150) => 'E', chr(196) . chr(151) => 'e', chr(196) . chr(152) => 'E', chr(196) . chr(153) => 'e', chr(196) . chr(154) => 'E', chr(196) . chr(155) => 'e', chr(196) . chr(156) => 'G', chr(196) . chr(157) => 'g', chr(196) . chr(158) => 'G', chr(196) . chr(159) => 'g', chr(196) . chr(160) => 'G', chr(196) . chr(161) => 'g', chr(196) . chr(162) => 'G', chr(196) . chr(163) => 'g', chr(196) . chr(164) => 'H', chr(196) . chr(165) => 'h', chr(196) . chr(166) => 'H', chr(196) . chr(167) => 'h', chr(196) . chr(168) => 'I', chr(196) . chr(169) => 'i', chr(196) . chr(170) => 'I', chr(196) . chr(171) => 'i', chr(196) . chr(172) => 'I', chr(196) . chr(173) => 'i', chr(196) . chr(174) => 'I', chr(196) . chr(175) => 'i', chr(196) . chr(176) => 'I', chr(196) . chr(177) => 'i', chr(196) . chr(178) => 'IJ', chr(196) . chr(179) => 'ij', chr(196) . chr(180) => 'J', chr(196) . chr(181) => 'j', chr(196) . chr(182) => 'K', chr(196) . chr(183) => 'k', chr(196) . chr(184) => 'k', chr(196) . chr(185) => 'L', chr(196) . chr(186) => 'l', chr(196) . chr(187) => 'L', chr(196) . chr(188) => 'l', chr(196) . chr(189) => 'L', chr(196) . chr(190) => 'l', chr(196) . chr(191) => 'L', chr(197) . chr(128) => 'l', chr(197) . chr(129) => 'L', chr(197) . chr(130) => 'l', chr(197) . chr(131) => 'N', chr(197) . chr(132) => 'n', chr(197) . chr(133) => 'N', chr(197) . chr(134) => 'n', chr(197) . chr(135) => 'N', chr(197) . chr(136) => 'n', chr(197) . chr(137) => 'N', chr(197) . chr(138) => 'n', chr(197) . chr(139) => 'N', chr(197) . chr(140) => 'O', chr(197) . chr(141) => 'o', chr(197) . chr(142) => 'O', chr(197) . chr(143) => 'o', chr(197) . chr(144) => 'O', chr(197) . chr(145) => 'o', chr(197) . chr(146) => 'OE', chr(197) . chr(147) => 'oe', chr(197) . chr(148) => 'R', chr(197) . chr(149) => 'r', chr(197) . chr(150) => 'R', chr(197) . chr(151) => 'r', chr(197) . chr(152) => 'R', chr(197) . chr(153) => 'r', chr(197) . chr(154) => 'S', chr(197) . chr(155) => 's', chr(197) . chr(156) => 'S', chr(197) . chr(157) => 's', chr(197) . chr(158) => 'S', chr(197) . chr(159) => 's', chr(197) . chr(160) => 'S', chr(197) . chr(161) => 's', chr(197) . chr(162) => 'T', chr(197) . chr(163) => 't', chr(197) . chr(164) => 'T', chr(197) . chr(165) => 't', chr(197) . chr(166) => 'T', chr(197) . chr(167) => 't', chr(197) . chr(168) => 'U', chr(197) . chr(169) => 'u', chr(197) . chr(170) => 'U', chr(197) . chr(171) => 'u', chr(197) . chr(172) => 'U', chr(197) . chr(173) => 'u', chr(197) . chr(174) => 'U', chr(197) . chr(175) => 'u', chr(197) . chr(176) => 'U', chr(197) . chr(177) => 'u', chr(197) . chr(178) => 'U', chr(197) . chr(179) => 'u', chr(197) . chr(180) => 'W', chr(197) . chr(181) => 'w', chr(197) . chr(182) => 'Y', chr(197) . chr(183) => 'y', chr(197) . chr(184) => 'Y', chr(197) . chr(185) => 'Z', chr(197) . chr(186) => 'z', chr(197) . chr(187) => 'Z', chr(197) . chr(188) => 'z', chr(197) . chr(189) => 'Z', chr(197) . chr(190) => 'z', chr(197) . chr(191) => 's', chr(226) . chr(130) . chr(172) => 'E', chr(194) . chr(163) => ''); $string = strtr($string, $chars); } else { // Assume ISO-8859-1 if not UTF-8 $chars['in'] = chr(128) . chr(131) . chr(138) . chr(142) . chr(154) . chr(158) . chr(159) . chr(162) . chr(165) . chr(181) . chr(192) . chr(193) . chr(194) . chr(195) . chr(196) . chr(197) . chr(199) . chr(200) . chr(201) . chr(202) . chr(203) . chr(204) . chr(205) . chr(206) . chr(207) . chr(209) . chr(210) . chr(211) . chr(212) . chr(213) . chr(214) . chr(216) . chr(217) . chr(218) . chr(219) . chr(220) . chr(221) . chr(224) . chr(225) . chr(226) . chr(227) . chr(228) . chr(229) . chr(231) . chr(232) . chr(233) . chr(234) . chr(235) . chr(236) . chr(237) . chr(238) . chr(239) . chr(241) . chr(242) . chr(243) . chr(244) . chr(245) . chr(246) . chr(248) . chr(249) . chr(250) . chr(251) . chr(252) . chr(253) . chr(255); $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy"; $string = strtr($string, $chars['in'], $chars['out']); $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)); $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'); $string = str_replace($double_chars['in'], $double_chars['out'], $string); } $string = strtolower(htmlentities($string)); $string = preg_replace('#&([a-z])(?:acute|cedil|caron|circ|grave|orn|ring|slash|th|tilde|uml);#', '$1', $string); $string = preg_replace('#&([a-z]{2})(?:lig);#', '$1', $string); $string = preg_replace('#&[^;]+;#', '', $string); return $string; }
function set_euckr($str) { if (is_utf8($str)) { $str = convert_charset('utf-8', 'cp949', $str); } $str = trim($str); return $str; }
function encode_if_necessary($str) { if (!is_utf8($str)) { return utf8_encode($str); } else { return $str; } }
/** * Importer le charset d'une ligne * * @param unknown_type $texte * @return array */ function importer_csv_importcharset($texte){ // le plus frequent, en particulier avec les trucs de ms@@@ $charset_source = 'iso-8859-1'; // mais open-office sait faire mieux, donc mefiance ! if (is_utf8($texte)) $charset_source = 'utf-8'; return importer_charset($texte,$charset_source); }
function make_utf8($Str) { if ($Str!="") { if (is_utf8($Str)) { $Encoding="UTF-8"; } if (empty($Encoding)) { $Encoding=mb_detect_encoding($Str,'UTF-8, ISO-8859-1'); } if (empty($Encoding)) { $Encoding="ISO-8859-1"; } if ($Encoding=="UTF-8") { return $Str; } else { return @mb_convert_encoding($Str,"UTF-8",$Encoding); } } }
function comment_decode($comment) { $comment = urldecode($comment); if (is_utf8($comment)) { return $comment; } else { return utf8_encode($comment); } }
protected function _encodeVariable($Variable, $ObjectDepth = 1, $ArrayDepth = 1) { if (is_null($Variable)) { return array('type' => 'null'); } else { if (is_bool($Variable)) { return array('type' => 'boolean', 'value' => $Variable ? '1' : '0'); } else { if (is_int($Variable)) { return array('type' => 'integer', 'value' => $Variable); } else { if (is_float($Variable)) { return array('type' => 'float', 'value' => $Variable); } else { if (is_double($Variable)) { return array('type' => 'double', 'value' => $Variable); } else { if (is_object($Variable)) { return array('type' => 'object', 'instance' => $this->_encodeInstance($Variable)); } else { if (is_array($Variable)) { // Check if we have an indexed array (list) or an associative array (map) $i = 0; foreach (array_keys($Variable) as $k) { if ($k != $i++) { $i = -1; break; } } if ($i == -1) { return array('type' => 'map', 'map' => $this->_encodeAssociativeArray($Variable, $ObjectDepth, $ArrayDepth)); } else { return array('type' => 'list', 'list' => $this->_encodeArray($Variable, $ObjectDepth, $ArrayDepth)); } } else { if (is_resource($Variable)) { return array('type' => 'resource', 'value' => $Variable); } else { if (is_string($Variable)) { if (is_utf8($Variable)) { return array('type' => 'string', 'value' => $Variable); } else { return array('type' => 'string', 'value' => utf8_encode($Variable)); } } else { return array('type' => 'unknown', 'value' => $Variable); } } } } } } } } } }
function convertString($str) { // convert to utf8, if necessary if (!is_utf8($str)) { $str = utf8_encode($str); } // clean up the html $str = cleanHTML($str); // return the url encoded string return urlencode($str); }
/** * 重新通知 */ public function renotice() { $noticeid = isset($_POST['noticeid']) ? $_POST['noticeid'] : showmessage(L('illegal_parameters'), HTTP_REFERER); $appid = isset($_POST['appid']) ? $_POST['appid'] : showmessage(L('illegal_parameters'), HTTP_REFERER); if ($noticeinfo = $this->db->get_one(array('id'=>$noticeid))) { //通知app noticedata 返回通知成功的appid 1 //debug post appid.phpsso.php?data=noticeinfo[noticedata]; $applist = getcache('applist'); $url = $applist[$appid]['url'].$applist[$appid]['apifilename']; $data = string2array($noticeinfo['noticedata']); $data['action'] = $noticeinfo['operation']; //转换中文编码 if (CHARSET != $applist[$appid]['charset'] && isset($data['action']) && $data['action'] == 'member_add') { if(isset($data['username']) && !empty($data['username'])) { if(CHARSET == 'utf-8') { //判断phpsso字符集是否为utf-8编码 //应用字符集如果是utf-8,并且用户名是utf-8编码,转换用户名为phpsso字符集,如果为英文,is_utf8返回false,不进行转换 if(!is_utf8($data['username'])) { $data['username'] = iconv(CHARSET, $applist[$appid]['charset'], $data['username']); } } else { if(!is_utf8($data['username'])) { $data['username'] = iconv(CHARSET, $applist[$appid]['charset'], $data['username']); } } } } $tmp_s = strstr($url, '?') ? '&' : '?'; $status = ps_send($url.$tmp_s.'appid='.$appid, $data, $applist[$appid]['authkey']); //通信次数+1 $this->db->update(array('totalnum'=>'+=1', 'dateline'=>SYS_TIME), array('id'=>$noticeid)); if($status == 1) { //重置消息队列app通信状态 $appstatusarr = json_decode($noticeinfo['appstatus'], 1); $appstatusarr[$appid] = 1; $appstatus = json_encode($appstatusarr); //全部通知成功后更新消息队列状态 if (!strstr($appstatus, ':0')) { $this->db->update(array('succeed'=>1), array('id'=>$noticeid)); } //更新消息队列 $this->db->update(array('appstatus'=>$appstatus), array('id'=>$noticeid)); exit('1'); } else { exit('0'); } } else { exit('0'); } }
function mystrlen($str) { $step = is_utf8($str) ? 2 : 1; $strlen = $mystrlen = strlen($str); for ($i = 0; $i < $strlen; $i++) { if (ord(substr($str, $i, 1)) > 0xa0) { $mystrlen -= $step; $i += $step; } } return $mystrlen; }
function convert_encoding($str) { if (is_utf8()) { return $str; } else { if (function_exists("iconv")) { return iconv('utf-8', 'gbk', $str); } else { if (function_exists("mb_convert_encoding")) { return mb_convert_encoding($str, 'gbk', 'utf-8'); } else { throw new Exception('请先安装 MBString 或 iconv 扩展!'); } } } }
function query($word) { $word = strtr($word, ' ', "+"); $word = strtr($word, '_', "+"); $start = ($page - 1) * $rows; if ($word == '') { return false; } if (is_utf8($word)) { $word = rawurlencode($word); } else { $word = mb_convert_encoding($word, "UTF-8", "GBK"); $word = rawurlencode($word); } return preg_replace("/%2B/i", "+", $word); }
public function info() { $tag = urldecode($_GET['tag']); if (!is_utf8($tag)) { $tag = auto_charset($tag, 'gbk', 'utf-8'); } $tag = msubstr(in($tag), 0, 20); //查找tag信息 if (!empty($tag)) { $info = model('tags')->tag_info($tag); } else { $this->error404(); } if (empty($info)) { $this->error404(); } //更新点击计数 model('tags')->views_content($info['id'], $info['click']); /*hook*/ $this->plus_hook('tags', 'index', $info); /*hook end*/ //分页处理 $url = __INDEX__ . '/tags-' . $tag . '/pages-{page}.html'; $listrows = $this->config['TPL_TAGS_PAGE']; if (empty($listrows)) { $listrows = 20; } $limit = $this->pagelimit($url, $listrows); $nav = array(0 => array('name' => 'TAG', 'url' => __INDEX__ . '/tags/index'), 1 => array('name' => $tag, 'url' => __INDEX__ . '/tags-' . $tag . '/')); //MEDIA信息 $this->common = model('pageinfo')->media($info['name'] . ' - TAGS', $tag); //内容列表 $loop = model('tags')->tag_list($info['id'], $limit); //统计总内容数量 $count = model('tags')->tag_count($info['id']); //分页处理 $this->page = $this->page($url, $count, $listrows); //获取上一页代码 $this->prepage = $this->page($url, $count, $listrows, '', 1); //获取下一页代码 $this->nextpage = $this->page($url, $count, $listrows, '', 2); $this->assign('loop', $loop); $this->assign('nav', $nav); $this->assign('info', $info); $this->display($this->config['TPL_TAGS']); }
function db_query($q) { global $ILCH_DEBUG_DB_COUNT_QUERIES, $ILCH_DEBUG_DB_QUERIES; $ILCH_DEBUG_DB_COUNT_QUERIES++; // Hilfsmodus zum einspielen von utf8 Installationsdatensätzen in die veraltete datenbank *yawn* if (defined('INSTALL_COMPLIANCE_MODE')) { if (is_utf8($q)) { $q = utf8_decode($q); } } if (preg_match("/^UPDATE `?prefix_\\S+`?\\s+SET/is", $q)) { $q = preg_replace("/^UPDATE `?prefix_(\\S+?)`?([\\s\\.,]|\$)/i", "UPDATE `" . DBPREF . "\\1`\\2", $q); } elseif (preg_match("/^INSERT INTO `?prefix_\\S+`?\\s+[a-z0-9\\s,\\)\\(]*?VALUES/is", $q)) { $q = preg_replace("/^INSERT INTO `?prefix_(\\S+?)`?([\\s\\.,]|\$)/i", "INSERT INTO `" . DBPREF . "\\1`\\2", $q); } else { $q = preg_replace("/prefix_(\\S+?)([\\s\\.,]|\$)/", DBPREF . "\\1\\2", $q); // if (is_utf8($q)) { // $q = utf8_decode($q); // } } if (!function_exists('debug_bt')) { function debug_bt() { return debug_backtrace(); } } $tmp = array(); $vor = microtime(true); $qry = @mysql_query($q, CONN); $nach = microtime(true); $res = is_resource($qry); $tmp['is_valid_result_resource'] = $res; $tmp['duration'] = $nach - $vor; $tmp['time'] = $nach - SCRIPT_START_TIME; $tmp['query'] = $q; $tmp['affected_rows'] = mysql_affected_rows(CONN); $tmp['result_index'] = (int) $qry; $tmp['call'] = debug_bt(); $error = db_check_error($qry); if (!empty($error)) { $tmp['error'] = $error; } $ILCH_DEBUG_DB_QUERIES[] = $tmp; return $qry; }
/** * WebSite-PHP file utils2.inc.php * * WebSite-PHP : PHP Framework 100% object (http://www.website-php.com) * Copyright (c) 2009-2015 WebSite-PHP.com * PHP versions >= 5.2 * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * * @author Emilien MOREL <*****@*****.**> * @link http://www.website-php.com * @copyright WebSite-PHP.com 12/05/2015 * @version 1.2.13 * @access public * @since 1.2.0 */ function url_rewrite_format($car, $disable_utf8decode = false) { if (!$disable_utf8decode && function_exists("is_utf8") && is_utf8($car)) { $car = utf8_decode($car); } $car = html_entity_decode($car); $string = array("'" => "_", "(" => "_", ")" => "_", "*" => "_", "+" => "_", "," => "_", "-" => "_", "." => "_", "/" => "_", ":" => "_", ";" => "_", "<" => "_", "=" => "_", ">" => "_", "?" => "_", "@" => "_", "[" => "_", "\\" => "_", "]" => "_", "^" => "_", "`" => "_", "{" => "_", "|" => "_", "}" => "_", "~" => "_", "" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "s", "�" => "_", "�" => "oe", "�" => "_", "�" => "Z", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "s", "�" => "_", "�" => "_", "�" => "z", "�" => "y", " " => "_", "�" => "_", "�" => "i", "�" => "c", "�" => "l", "�" => "_", "�" => "y", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "u", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "_", "�" => "A", "�" => "A", "�" => "A", "�" => "A", "�" => "A", "�" => "A", "�" => "AE", "�" => "C", "�" => "E", "�" => "E", "�" => "E", "�" => "E", "�" => "I", "�" => "I", "�" => "I", "�" => "I", "�" => "D", "�" => "N", "�" => "O", "�" => "O", "�" => "O", "�" => "O", "�" => "O", "�" => "x", "�" => "O", "�" => "U", "�" => "U", "�" => "U", "�" => "U", "�" => "Y", "�" => "_", "�" => "s", "�" => "a", "�" => "a", "�" => "a", "�" => "a", "�" => "a", "�" => "a", "�" => "ae", "�" => "c", "�" => "e", "�" => "e", "�" => "e", "�" => "e", "�" => "i", "�" => "i", "�" => "i", "�" => "i", "�" => "_", "�" => "n", "�" => "o", "�" => "o", "�" => "o", "�" => "o", "�" => "o", "�" => "_", "�" => "o", "�" => "u", "�" => "u", "�" => "u", "�" => "u", "�" => "y", "�" => "_", "�" => "y", "&" => "_", "\"" => "_", "!" => "_", "\r" => "_", "&" => "_", "#" => "_", "\$" => "_", "%" => "_", "\n" => "_", "€" => "_", "‚" => "_", "ƒ" => "_", "„" => "_", "…" => "_", "†" => "_", "‡" => "_", "ˆ" => "_", "‰" => "_", "Š" => "s", "‹" => "_", "Œ" => "oe", "Ž" => "Z", "‘" => "_", "’" => "_", "“" => "_", "”" => "_", "•" => "_", "–" => "_", "—" => "_", "˜" => "_", "™" => "_", "š" => "s", "›" => "_", "ž" => "z", "Ÿ" => "y", " " => "_", "¡" => "i", "¢" => "c", "£" => "l", "¤" => "_", "¥" => "y", "¦" => "_", "§" => "_", "¨" => "_", "©" => "_", "ª" => "_", "«" => "_", "¬" => "_", "" => "_", "®" => "_", "¯" => "_", "°" => "_", "±" => "_", "²" => "_", "³" => "_", "´" => "_", "µ" => "u", "¶" => "_", "·" => "_", "¸" => "_", "¹" => "_", "º" => "_", "»" => "_", "¼" => "_", "½" => "_", "¾" => "_", "¿" => "_", "À" => "A", "Á" => "A", "Â" => "A", "Ã" => "A", "Ä" => "A", "Å" => "A", "Æ" => "AE", "Ç" => "C", "È" => "E", "É" => "E", "Ê" => "E", "Ë" => "E", "Ì" => "I", "Í" => "I", "Î" => "I", "Ï" => "I", "Ð" => "D", "Ñ" => "N", "Ò" => "O", "Ó" => "O", "Ô" => "O", "Õ" => "O", "Ö" => "O", "×" => "x", "Ø" => "O", "Ù" => "U", "Ú" => "U", "Û" => "U", "Ü" => "U", "Ý" => "Y", "Þ" => "_", "ß" => "s", "à" => "a", "á" => "a", "â" => "a", "ã" => "a", "ä" => "a", "å" => "a", "æ" => "ae", "ç" => "c", "è" => "e", "é" => "e", "ê" => "e", "ë" => "e", "ì" => "i", "í" => "i", "î" => "i", "ï" => "i", "ð" => "_", "ñ" => "n", "ò" => "o", "ó" => "o", "ô" => "o", "õ" => "o", "ö" => "o", "÷" => "_", "ø" => "o", "ù" => "u", "ú" => "u", "û" => "u", "ü" => "u", "ý" => "y", "þ" => "_", "ā" => "a", "Ā" => "A", "Î" => "I", "î" => "i", "ç" => "c", "è" => "e", "é" => "e", "Œ" => "OE", "œ" => "oe", "ī" => "i", "ă" => "a", "ţ" => "t", "ș" => "s", "Ō" => "o", "ō" => "o", "ą" => "a", "ş" => "s", "Ś" => "S", "Ş" => "s", "Ł" => "L", "ł" => "l", "ź" => "z", "Ź" => "Z", "Ţ" => "T", "Ī" => "I", "Ą" => "A", "Ș" => "S", "Ă" => "A", "ū" => "u", "Ū" => "U", "ŏ" => "o", "Ŏ" => "O", "Ḩ" => "H", "ḩ" => "h", "ę" => "e", "Ę" => "E", "İ" => "I", "i̇" => "i", "ě" => "e", "Ě" => "E", "č" => "c", "Č" => "C", "ż" => "z", "Ż" => "Z", "ő" => "o", "Ő" => "O", "ğ" => "g", "Ğ" => "G", "ė" => "e", "Ė" => "E", "ř" => "r", "Ř" => "R", "ı" => "i", "ś" => "s", "ń" => "n", "Ń" => "N", "ÿ" => "y", "Ÿ" => "Y", "А" => "a", "Б" => "b", "В" => "v", "Г" => "g", "Д" => "d", "Е" => "e", "Ё" => "yo", "Ж" => "zh", "З" => "z", "И" => "i", "Й" => "j", "К" => "k", "Л" => "l", "М" => "m", "Н" => "n", "О" => "o", "П" => "p", "Р" => "r", "С" => "s", "Т" => "t", "У" => "u", "Ф" => "f", "Х" => "kh", "Ц" => "ts", "Ч" => "ch", "Ш" => "sh", "Щ" => "sch", "Ъ" => "", "Ы" => "y", "Ь" => "", "Э" => "e", "Ю" => "yu", "Я" => "ya", "а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "ё" => "yo", "ж" => "zh", "з" => "z", "и" => "i", "й" => "j", "к" => "k", "л" => "l", "м" => "m", "н" => "n", "о" => "o", "п" => "p", "р" => "r", "с" => "s", "т" => "t", "у" => "u", "ф" => "f", "х" => "kh", "ц" => "ts", "ч" => "ch", "ш" => "sh", "щ" => "sch", "ъ" => "", "ы" => "y", "ь" => "", "э" => "e", "ю" => "yu", "я" => "ya"); $car = strtr($car, $string); $car = stripslashes($car); $car = str_replace("__", "_", $car); $car = str_replace("__", "_", $car); $car = str_replace("__", "_", $car); if ($car[strlen($car) - 1] == "_") { $car = substr($car, 0, strlen($car) - 1); } $car = str_replace("_", "-", $car); return strtolower($car); }
function remove_accents($string) { if (!preg_match('/[\\x80-\\xff]/', $string)) { return $string; } if (is_utf8($string)) { $chars = array(chr(195) . chr(128) => 'A', chr(195) . chr(129) => 'A', chr(195) . chr(130) => 'A', chr(195) . chr(131) => 'A', chr(195) . chr(132) => 'A', chr(195) . chr(133) => 'A', chr(195) . chr(135) => 'C', chr(195) . chr(136) => 'E', chr(195) . chr(137) => 'E', chr(195) . chr(138) => 'E', chr(195) . chr(139) => 'E', chr(195) . chr(140) => 'I', chr(195) . chr(141) => 'I', chr(195) . chr(142) => 'I', chr(195) . chr(143) => 'I', chr(195) . chr(145) => 'N', chr(195) . chr(146) => 'O', chr(195) . chr(147) => 'O', chr(195) . chr(148) => 'O', chr(195) . chr(149) => 'O', chr(195) . chr(150) => 'O', chr(195) . chr(153) => 'U', chr(195) . chr(154) => 'U', chr(195) . chr(155) => 'U', chr(195) . chr(156) => 'U', chr(195) . chr(157) => 'Y', chr(195) . chr(159) => 's', chr(195) . chr(160) => 'a', chr(195) . chr(161) => 'a', chr(195) . chr(162) => 'a', chr(195) . chr(163) => 'a', chr(195) . chr(164) => 'a', chr(195) . chr(165) => 'a', chr(195) . chr(167) => 'c', chr(195) . chr(168) => 'e', chr(195) . chr(169) => 'e', chr(195) . chr(170) => 'e', chr(195) . chr(171) => 'e', chr(195) . chr(172) => 'i', chr(195) . chr(173) => 'i', chr(195) . chr(174) => 'i', chr(195) . chr(175) => 'i', chr(195) . chr(177) => 'n', chr(195) . chr(178) => 'o', chr(195) . chr(179) => 'o', chr(195) . chr(180) => 'o', chr(195) . chr(181) => 'o', chr(195) . chr(182) => 'o', chr(195) . chr(182) => 'o', chr(195) . chr(185) => 'u', chr(195) . chr(186) => 'u', chr(195) . chr(187) => 'u', chr(195) . chr(188) => 'u', chr(195) . chr(189) => 'y', chr(195) . chr(191) => 'y', chr(196) . chr(128) => 'A', chr(196) . chr(129) => 'a', chr(196) . chr(130) => 'A', chr(196) . chr(131) => 'a', chr(196) . chr(132) => 'A', chr(196) . chr(133) => 'a', chr(196) . chr(134) => 'C', chr(196) . chr(135) => 'c', chr(196) . chr(136) => 'C', chr(196) . chr(137) => 'c', chr(196) . chr(138) => 'C', chr(196) . chr(139) => 'c', chr(196) . chr(140) => 'C', chr(196) . chr(141) => 'c', chr(196) . chr(142) => 'D', chr(196) . chr(143) => 'd', chr(196) . chr(144) => 'D', chr(196) . chr(145) => 'd', chr(196) . chr(146) => 'E', chr(196) . chr(147) => 'e', chr(196) . chr(148) => 'E', chr(196) . chr(149) => 'e', chr(196) . chr(150) => 'E', chr(196) . chr(151) => 'e', chr(196) . chr(152) => 'E', chr(196) . chr(153) => 'e', chr(196) . chr(154) => 'E', chr(196) . chr(155) => 'e', chr(196) . chr(156) => 'G', chr(196) . chr(157) => 'g', chr(196) . chr(158) => 'G', chr(196) . chr(159) => 'g', chr(196) . chr(160) => 'G', chr(196) . chr(161) => 'g', chr(196) . chr(162) => 'G', chr(196) . chr(163) => 'g', chr(196) . chr(164) => 'H', chr(196) . chr(165) => 'h', chr(196) . chr(166) => 'H', chr(196) . chr(167) => 'h', chr(196) . chr(168) => 'I', chr(196) . chr(169) => 'i', chr(196) . chr(170) => 'I', chr(196) . chr(171) => 'i', chr(196) . chr(172) => 'I', chr(196) . chr(173) => 'i', chr(196) . chr(174) => 'I', chr(196) . chr(175) => 'i', chr(196) . chr(176) => 'I', chr(196) . chr(177) => 'i', chr(196) . chr(178) => 'IJ', chr(196) . chr(179) => 'ij', chr(196) . chr(180) => 'J', chr(196) . chr(181) => 'j', chr(196) . chr(182) => 'K', chr(196) . chr(183) => 'k', chr(196) . chr(184) => 'k', chr(196) . chr(185) => 'L', chr(196) . chr(186) => 'l', chr(196) . chr(187) => 'L', chr(196) . chr(188) => 'l', chr(196) . chr(189) => 'L', chr(196) . chr(190) => 'l', chr(196) . chr(191) => 'L', chr(197) . chr(128) => 'l', chr(197) . chr(129) => 'L', chr(197) . chr(130) => 'l', chr(197) . chr(131) => 'N', chr(197) . chr(132) => 'n', chr(197) . chr(133) => 'N', chr(197) . chr(134) => 'n', chr(197) . chr(135) => 'N', chr(197) . chr(136) => 'n', chr(197) . chr(137) => 'N', chr(197) . chr(138) => 'n', chr(197) . chr(139) => 'N', chr(197) . chr(140) => 'O', chr(197) . chr(141) => 'o', chr(197) . chr(142) => 'O', chr(197) . chr(143) => 'o', chr(197) . chr(144) => 'O', chr(197) . chr(145) => 'o', chr(197) . chr(146) => 'OE', chr(197) . chr(147) => 'oe', chr(197) . chr(148) => 'R', chr(197) . chr(149) => 'r', chr(197) . chr(150) => 'R', chr(197) . chr(151) => 'r', chr(197) . chr(152) => 'R', chr(197) . chr(153) => 'r', chr(197) . chr(154) => 'S', chr(197) . chr(155) => 's', chr(197) . chr(156) => 'S', chr(197) . chr(157) => 's', chr(197) . chr(158) => 'S', chr(197) . chr(159) => 's', chr(197) . chr(160) => 'S', chr(197) . chr(161) => 's', chr(197) . chr(162) => 'T', chr(197) . chr(163) => 't', chr(197) . chr(164) => 'T', chr(197) . chr(165) => 't', chr(197) . chr(166) => 'T', chr(197) . chr(167) => 't', chr(197) . chr(168) => 'U', chr(197) . chr(169) => 'u', chr(197) . chr(170) => 'U', chr(197) . chr(171) => 'u', chr(197) . chr(172) => 'U', chr(197) . chr(173) => 'u', chr(197) . chr(174) => 'U', chr(197) . chr(175) => 'u', chr(197) . chr(176) => 'U', chr(197) . chr(177) => 'u', chr(197) . chr(178) => 'U', chr(197) . chr(179) => 'u', chr(197) . chr(180) => 'W', chr(197) . chr(181) => 'w', chr(197) . chr(182) => 'Y', chr(197) . chr(183) => 'y', chr(197) . chr(184) => 'Y', chr(197) . chr(185) => 'Z', chr(197) . chr(186) => 'z', chr(197) . chr(187) => 'Z', chr(197) . chr(188) => 'z', chr(197) . chr(189) => 'Z', chr(197) . chr(190) => 'z', chr(197) . chr(191) => 's', chr(226) . chr(130) . chr(172) => 'E', chr(194) . chr(163) => ''); $string = strtr($string, $chars); } else { // Assume ISO-8859-1 if not UTF-8 $chars['in'] = chr(128) . chr(131) . chr(138) . chr(142) . chr(154) . chr(158) . chr(159) . chr(162) . chr(165) . chr(181) . chr(192) . chr(193) . chr(194) . chr(195) . chr(196) . chr(197) . chr(199) . chr(200) . chr(201) . chr(202) . chr(203) . chr(204) . chr(205) . chr(206) . chr(207) . chr(209) . chr(210) . chr(211) . chr(212) . chr(213) . chr(214) . chr(216) . chr(217) . chr(218) . chr(219) . chr(220) . chr(221) . chr(224) . chr(225) . chr(226) . chr(227) . chr(228) . chr(229) . chr(231) . chr(232) . chr(233) . chr(234) . chr(235) . chr(236) . chr(237) . chr(238) . chr(239) . chr(241) . chr(242) . chr(243) . chr(244) . chr(245) . chr(246) . chr(248) . chr(249) . chr(250) . chr(251) . chr(252) . chr(253) . chr(255); $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy"; $string = strtr($string, $chars['in'], $chars['out']); $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)); $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'); $string = str_replace($double_chars['in'], $double_chars['out'], $string); } return $string; }
public function __construct() { parent::__construct(); $this->config = pc_base::load_config('system'); /*判断应用字符集和phpsso字符集是否相同,如果不相同,转换用户名为phpsso所用字符集*/ $this->username = isset($this->data['username']) ? $this->data['username'] : ''; if ($this->username && CHARSET != $this->applist[$this->appid]['charset']) { if($this->applist[$this->appid]['charset'] == 'utf-8') { //判断应用字符集是否为utf-8编码 //应用字符集如果是utf-8,并且用户名是utf-8编码,转换用户名为phpsso字符集,如果为英文,is_utf8返回false,不进行转换 if(is_utf8($this->username)) { $this->username = iconv($this->applist[$this->appid]['charset'], CHARSET, $this->username); } } else { if(!is_utf8($this->username)) { $this->username = iconv($this->applist[$this->appid]['charset'], CHARSET, $this->username); } } } }
function make_utf8($Str) { if ($Str != '') { if (is_utf8($Str)) { $Encoding = 'UTF-8'; } if (empty($Encoding)) { $Encoding = mb_detect_encoding($Str, 'UTF-8, ISO-8859-1'); } if (empty($Encoding)) { $Encoding = 'ISO-8859-1'; } if ($Encoding == 'UTF-8') { return $Str; } else { return @mb_convert_encoding($Str, 'UTF-8', $Encoding); } } }
/** *Ajax检测商机名称 * **/ public function check() { import("@.ORG.SplitWord"); $sp = new SplitWord(); $m_business = M('Business'); $useless_words = array(L('COMPANY'), L('LIMITED'), L('DI'), L('LIMITED_COMPANY')); if ($this->isAjax()) { $split_result = $sp->SplitRMM($_POST['name']); if (!is_utf8($split_result)) { $split_result = iconv("GB2312//IGNORE", "UTF-8", $split_result); } $result_array = explode(' ', trim($split_result)); if (count($result_array) < 2) { $this->ajaxReturn(0, '', 0); die; } foreach ($result_array as $k => $v) { if (in_array($v, $useless_words)) { unset($result_array[$k]); } } $name_list = $m_business->getField('name', true); $seach_array = array(); foreach ($name_list as $k => $v) { $search = 0; foreach ($result_array as $k2 => $v2) { if (strpos($v, $v2) > -1) { $v = str_replace("{$v2}", "<span style='color:red;'>{$v2}</span>", $v, $count); $search += $count; } } if ($search > 2) { $seach_array[$k] = array('value' => $v, 'search' => $search); } } $seach_sort_result = array_sort($seach_array, 'search', 'desc'); if (empty($seach_sort_result)) { $this->ajaxReturn(0, L('ABLE_ADD'), 0); } else { $this->ajaxReturn($seach_sort_result, L('CUSTOMER_IS_CREATED'), 1); } } }
public function serialize(&$var) { if (!isset($var) || $var === NULL) { $this->writeNull(); } elseif (is_scalar($var)) { if (is_int($var)) { $this->writeInteger($var); } elseif (is_bool($var)) { $this->writeBoolean($var); } elseif (is_float($var)) { $this->writeDouble($var); } elseif (is_string($var)) { if ($var === '') { $this->writeEmpty(); } elseif (strlen($var) < 4 && is_utf8($var) && ustrlen($var) == 1) { $this->writeUTF8Char($var); } elseif (is_utf8($var)) { $this->writeString($var, true); } else { $this->writeBytes($var, true); } } } elseif (is_array($var)) { if (is_list($var)) { $this->writeList($var, true); } else { $this->writeMap($var, true); } } elseif (is_object($var)) { if ($var instanceof stdClass) { $this->writeStdObject($var, true); } elseif ($var instanceof HproseDate || $var instanceof HproseDateTime) { $this->writeDate($var, true); } elseif ($var instanceof HproseTime) { $this->writeTime($var, true); } else { $this->writeObject($var, true); } } else { throw new HproseException('Not support to serialize this data'); } }
public function tags_url($tags, $page = null) { if (empty($tags)) { $this->error404(); } if (!is_utf8($tags)) { $tags = auto_charset($tags, 'gbk', 'utf-8'); } $_GET['tag'] = $tags; $info = $this->model->table('tags')->where('name="' . $tags . '"')->find(); if ($info['lang'] != model('lang')->langid()) { $this->error404(); } if (!$info) { $this->error404(); } if (!empty($page)) { $_GET['page'] = $page; } module('tags')->info(); return; }
/** * 通知应用 */ public static function notice($operation, $noticedata, $noticeid) { $db = self::get_db(); $applist = getcache('applist', 'admin'); foreach ($applist as $k => $v) { //由于编码转换会改变notice_send的值,所以每次循环需要重新赋值noticedate_send $noticedata_send = $noticedata; //应用添加用户时不重复通知该应用 if (isset($noticedata_send['appname']) && $noticedata_send['appname'] == $v['name']) { $appstatus[$k] = 1; continue; } $url = $v['url'] . $v['apifilename']; if (CHARSET != $v['charset'] && isset($noticedata_send['action']) && $noticedata_send['action'] == 'member_add') { if (isset($noticedata_send['username']) && !empty($noticedata_send['username'])) { if (CHARSET == 'utf-8') { //判断phpsso字符集是否为utf-8编码 //应用字符集如果是utf-8,并且用户名是utf-8编码,转换用户名为phpsso字符集,如果为英文,is_utf8返回false,不进行转换 if (!is_utf8($noticedata_send['username'])) { $noticedata_send['username'] = iconv(CHARSET, $v['charset'], $noticedata_send['username']); } } else { if (!is_utf8($noticedata_send['username'])) { $noticedata_send['username'] = iconv(CHARSET, $v['charset'], $noticedata_send['username']); } } } } $tmp_s = strstr($url, '?') ? '&' : '?'; $status = ps_send($url . $tmp_s . 'appid=' . $k, $noticedata_send, $v['authkey']); if ($status == 1) { $appstatus[$k] = 1; } else { $appstatus[$k] = 0; } } $db->update(array('totalnum' => '+=1', 'appstatus' => json_encode($appstatus)), array('id' => $noticeid)); }
function keytype($search_url) { $config = array('谷歌' => array("domain" => "www.google.", "kw" => "q", "charset" => "utf-8", 'type' => 0), '百度' => array("domain" => "www.baidu.", "kw" => "wd", "charset" => "gbk", 'type' => 1), '搜搜' => array("domain" => "soso.", "kw" => "query", "charset" => "gbk", 'type' => 2), '雅虎' => array("domain" => "yahoo.", "kw" => "q", "charset" => "utf-8", 'type' => 3), '必应' => array("domain" => "bing.", "kw" => "q", "charset" => "utf-8", 'type' => 4), '搜狗' => array("domain" => "sogou.", "kw" => "query", "charset" => "gbk", 'type' => 5), '有道' => array("domain" => "youdao.", "kw" => "q", "charset" => "utf-8", 'type' => 6), '360搜索' => array("domain" => "so.360.", "kw" => "q", "charset" => "utf-8", 'type' => 7)); $arr_key = array(); foreach ($config as $key => $item) { $sh = preg_match("/\\b{$item['domain']}\\b/", $search_url); if ($sh) { $query = $item['kw'] . "="; $s_s_keyword = get_keyword($search_url, $query); $F_Skey = urldecode($s_s_keyword); $agwe = 0; if ($key == '百度') { $agwe = get_keyword($search_url, 'ie='); $item['charset'] = $agwe == '' ? $item['charset'] : $agwe; } if ($item['charset'] != "utf-8" && (!is_utf8($F_Skey) || $agwe)) { $F_Skey = iconv("gb2312//IGNORE", "UTF-8", $F_Skey); } $arr_key[0] = $F_Skey; $arr_key[1] = $item['type']; } } return $arr_key; }
/** +---------------------------------------------------------- * 字符串截取,支持中文和其他编码 +---------------------------------------------------------- * @static * @access public +---------------------------------------------------------- * @param string $str 需要转换的字符串 * @param string $start 开始位置 * @param string $length 截取长度 * @param string $charset 编码格式 * @param string $suffix 截断显示字符 +---------------------------------------------------------- * @return string +---------------------------------------------------------- */ function msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true) { $str = strip_tags($str, ''); // Fengzi change at 2010.1.30 if (is_utf8($str) && strlen_utf8($str) <= $length) { return $str; } // Fengzi change at 2010.3.25 if (function_exists("mb_substr")) { return mb_substr($str, $start, $length, $charset) . "..."; } elseif (function_exists('iconv_substr')) { return iconv_substr($str, $start, $length, $charset) . "..."; } $re['utf-8'] = "/[-]|[�-�][�-�]|[�-�][�-�]{2}|[�-�][�-�]{3}/"; $re['gb2312'] = "/[-]|[�-�][�-�]/"; $re['gbk'] = "/[-]|[�-�][@-�]/"; $re['big5'] = "/[-]|[�-�]([@-~]|�-�])/"; preg_match_all($re[$charset], $str, $match); $slice = join("", array_slice($match[0], $start, $length)); if ($suffix) { return $slice . "..."; } return $slice; }