コード例 #1
0
 /**
  * Returns true if $string is valid UTF-8 and false otherwise.
  *
  * @param mixed $str String to be tested
  *
  * @return boolean
  */
 public static function is_utf8($str)
 {
     return UTF8::is_utf8($str);
 }
コード例 #2
0
ファイル: URL.php プロジェクト: rin-nas/php-text-words-parser
 /**
  * Возвращает поисковую фразу в кодировке 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;
 }