獲取字符串類型
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、金東網(wǎng)站維護(hù)、網(wǎng)站推廣。
/** * 判斷中英文 */ public function checkStr($str){ $output = ''; ///\<[\s\S]*\>/i $a = preg_match('/[' . chr(0xa1) . '-' . chr(0xff) . ']/i', $str); $b = preg_match('/[0-9]/i', $str); $c = preg_match('/[a-zA-Z]/i', $str); if($a && $b && $c){ $output = 1; //'漢字?jǐn)?shù)字英文的混合字符串'; }elseif($a && $b && !$c){ $output = 2; //'漢字?jǐn)?shù)字的混合字符串'; }elseif($a && !$b && $c){ $output = 3; //'漢字英文的混合字符串'; }elseif(!$a && $b && $c){ $output = 4; //'數(shù)字英文的混合字符串'; }elseif($a && !$b && !$c){ $output = 5; //'純漢字'; }elseif(!$a && $b && !$c){ $output = 6; //'純數(shù)字'; }elseif(!$a && !$b && $c){ $output = 7; //'純英文'; } return $output; }
提取中文
/** * * 只提取中文名稱 * @param $srchKeyword */ public function getCN($srchKeyword){ $preg_repOne = array("|[0-9a-zA-Z/-]+|", '/\(|\)/', '/\《|\》/', '/\+|\-|\*|\//' , '/\{|\}/', '/\<|\>/', '/\【|\】/', '/\[|\]/', '/\(|\)/' ); $preg_repTwo = array(' ', PHP_EOL,'+', '-', '\'', '/', '\\', '[', ']', '{', '}', 'è', 'β', '±', '^', '’', '~', '-', '+', '.', '。', '\'', '#', '@', '!', '&', '*', '<', '>', '%', 'α', 'γ', 'ε', '', '', '' , '[', ']', '-', 'δ', '+', '【', '】', '#', ';', '\\r', '\′', '′', ',', '_'); $str = preg_replace($preg_repOne, array('', ''), $srchKeyword); $str = str_replace($preg_repTwo, array('', ''), $str); $str = mb_substr($str,0,255,'utf-8'); return trim($str); }
提取英文
/** * 提取英文 * @param $srchKeyword */ public function getEN($srchKeyword){ $preg_repOne = array('/[-][a-zA-Z][0-9]/i', '/[0-9]/i', '/[a-zA-Z][0-9][-]/i', '/[^\[0-9]da-zA-Z]/i', '/\(|\)/', '/\《|\》/', '/\+|\-|\*|\//' , '/\{|\}/', '/\<|\>/', '/\【|\】/', '/\[|\]/', '/\(|\)/' ); $preg_repTwo = array(' ', PHP_EOL, '-', '\'', '/', '\\', '[', ']', '{', '}', 'è', 'β', '±', '^', '’', '~', '-', '+', '.', '。', '\'', '#', '@', '!', '&', '*', '<', '>', '%', 'α', 'γ', 'ε', '', '', '' , '[', ']', '-', 'δ', '+', '【', '】', '#', ';', '\\r', '\′', '′', '(', ')', '(', ')', ',', '_'); $str = preg_replace($preg_repOne, array('', ''), $srchKeyword); $str = str_replace($preg_repTwo, array('', ''), $str); $str = mb_substr($str, 0, 255, 'utf-8'); return strtolower($str); }
字符串轉(zhuǎn)數(shù)組
/** * 字符串轉(zhuǎn)數(shù)組 * @param $key_words 傳入的字符串 * @param $type 字符串類型 */ function get_key_arr($key_words,$type = 'en'){ $ex_ = 1; $str_len = strlen($key_words); $return_arr = ''; if($type == 'cn'){ $ex_ = 3;//漢字占3個(gè)長度 $str_num = ceil($str_len/$ex_); for ($i = 1; $i <= $str_num; $i++) { $start = ($i-1)*$ex_; $return_arr [] = substr($key_words,$start,$ex_); } }else{ for ($i = 0; $i < $str_len; $i++) { $return_arr [] = $key_words[$i]; } } $return_arr = array_unique($return_arr); return $return_arr; }
高亮顯示
/** * 高亮顯示函數(shù) * @param $message 需要高亮字的符串 * @param $str 需要高亮的部分字符串 * @param $color 高亮顯示顏色 */ function bat_highlight($message,$str,$color = '#ff0000'){ $checkstr = $this->checkStr($str); if($checkstr== 7 || $checkstr == 4){ $words_info_en = $this->getEN($str); $return_arr = $this->get_key_arr($words_info_en); }elseif($checkstr== 1 || $checkstr == 2 || $checkstr == 3 || $checkstr == 5){ $words_info_cn = $this->getCN($str); $return_arr = $this->get_key_arr($words_info_cn,'cn'); } foreach ($return_arr as $value) { $message = preg_replace("/($value)/i", '@#\1#@',$message); } /** * 把標(biāo)識替換回來 * @# == * #@ == */ $message = str_replace('@#', '', $message); $message = str_replace('#@', '', $message); return $message; }
好了,到此結(jié)束,如有問題,給我留言!