toHexLowcase(); $ret .= "\u" . $hexB; } return $ret; } public static function formatQueryKeyword($queryW, $placeholderForNonAscii = self::NON_ASCII_PLACEHOLDER) { $queryW = self::unicodeEncode($queryW); $len = mb_strlen($queryW); $ret = ""; for($i = 0; $i < $len; $i ++){ if(mb_substr($queryW, $i, 1) == $placeholderForNonAscii){ $ret .= self::$LONG_PLACEHOLDER; } elseif (mb_substr($queryW, $i, 1) == self::ASCII_PLACEHOLDER) { $ret .= self::ASCII_PLACEHOLDER; } else { $ret .= mb_substr($queryW, $i); break; } } return $ret; } public static function generateWildcardKeyword($queryW, $asciiCharPrefixNumber, $nonAsciiCharPrefixNumber) { $length = $asciiCharPrefixNumber + $nonAsciiCharPrefixNumber * 6; if($length == 0){ return $queryW; } $ret = str_repeat(self::ASCII_PLACEHOLDER, $length); return $ret . $queryW; } }