// ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΠ½ΠΈΠΊΠΎΠ΄ ΠΊΠΎΠ΄ ΡΠΌΠ°ΠΉΠ»Π° Π² ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠΈΠΏΠ° &\#11111 $tmp = $post['text']; $arr_tmp = utf8_to_unicode_code($tmp); $arr_smile = explode(';',$smile); foreach($arr_smile as $key => $val) { $key_smile = array_keys($arr_tmp,$val); if(!empty($key_smile)) { //Π΅ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
ΡΠΌΠ°ΠΉΠ»ΠΎΠ² $arr = $key_smile; if (!is_array($key_smile)){ $arr = array($key_smile); } $cod_smile = utf8_to_unicode_code($arr_tmp[reset($key_smile)]); //ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ½ΠΈΠΊΠΎΠ΄Π° unset($cod_smile[0]); foreach($arr as $v){ $key_smile = array_search($val,$arr_tmp); $merg_arr = array_merge(array(38, 92, 35) , $cod_smile, array(59)); array_splice($arr_tmp, $key_smile , 1, $merg_arr); } } } function utf8_to_unicode_code($utf8_string) { $expanded = iconv("UTF-8", "UTF-32", $utf8_string); //array_merg Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ± ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π»Π°ΡΡ Ρ 0 return array_merge(unpack("L*", $expanded),array()); } function unicode_code_to_utf8($unicode_list) { $result = ""; foreach($unicode_list as $key => $value) { $one_character = pack("L", $value); $result .= iconv("UTF-32", "UTF-8", $one_character); } return $result; }
option is not perfect but working, all the salt in the functions