crautcher
User-
Posts
95 -
Joined
-
Last visited
crautcher's Achievements
Explorer (1/14)
-6
Reputation
-
есть класс небольшой для перевода : <? class google_translator_exception extends Exception {} class gtranslate { private $_user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; private $_sleep = 0; private $_lang_s = ''; private $_lang_t = ''; private $_sources = array(); function set_sleep($s) { $this->_sleep = $s; return $this; } function set_langs($from, $to) { $this->_lang_s = $from; $this->_lang_t = $to; return $this; } function set_text($src) { $this->_sources = is_array($src) ? $src : array($src); return $this; } function translate($text = false) { $is_array = is_array($text); $text = ($text === false) ? $this->_sources : (is_array($text) ? $text : array($text)); $result = array(); $url = "http://translate.google.ru/translate_a/t?client=t&text=%s&hl={$this->_lang_t}&sl={$this->_lang_s}&tl={$this->_lang_t}&multires=1&otf=2&ssel=4&tsel=0&sc=1"; $ch = curl_init(); $Headers = array( "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3", "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7" ); curl_setopt($ch, CURLOPT_HTTPHEADER, $Headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $this->_user_agent); foreach ($text as $k => $t) { $t = urlencode($t); $ref = "http://translate.google.ru/#{$this->_lang_s}|{$this->_lang_t}|{$t}" ; curl_setopt($ch, CURLOPT_REFERER, $ref); curl_setopt($ch, CURLOPT_URL, sprintf($url, $t)); $body = curl_exec($ch); if (CURLE_OK != curl_errno($ch)) { throw new google_translator_exception (curl_error($ch)); } $body = iconv('KOI8-R', 'UTF-8', substr($body,2)); $result[$k] = preg_replace('@^\[\"(.*)\",\".*$@Uu', '$1', $body); if ($this->_sleep) sleep($this->_sleep); } curl_close($ch); return $is_array ? $result : array_pop($result); } } если подаю английский язык <?php echo $gt->set_langs('en', 'ru')->set_text('i\'m testing')->translate() ; "Я тестирую" всё норм , но если другой язык: <? echo $gt->set_langs('de', 'ru')->set_text('mutter')->translate() ; получаю ответ в таком виде: \u043C\u0430\u0442\u044C я так понимаю что это "мать" , как преобразовать , что это за символы такие , или может что-то в класе подправить надо ?
-
var isLg= $("#Tlangs option[value=" + Lg + "]").length; var isCt= $("#Tlangs option[value=" + Country.toLowerCase() + "]").length; if (isLg > 0) { } else { if (isCt > 0) { } } а как выбрать нужный ? всё нашел
-
есть селект с языками : <select name='Tlangs'> <option value="af">Afrikaans</option> <option value="sq">Albanian</option> <option value="ar">Arabic</option> ... далее есть функиця где подаётся индекс языка и страны : function somefunction(Lg , Country) { ... }как можно средствами jquery проверить { если в этом списке есть индекс поданного языка то выставить его } иначе { если есть индекс страны , выставить его }
-
$count = intval(file_get_contents('counter.dat')); file_put_contents('counter.dat' , ++$count);
-
в базу сохраните или в файл и будет вам счетчик
-
на сессиях даже проще <? session_start(); if (isset($_POST['pass']) && $_POST['pass'] == 'myzuppapw') $_SESSION['admin'] = true; if (!isset($_SESSION['admin'])) { ?> <form method="post"> <p><input type="text" name="pass" id="name"></p> <p><input name="submit" type="submit" id="submit" value="go"></p> </form> <?}else{?> kontent admina ! <?}?>
-
ну в вашей ссылке показывается что intval куда быстрее , а просто (int) еще быстрее escape_string time: 0.697912931442 intval time: 0.349272966385 int time: 0.16778588295
-
спросил сперва на другом форуме , там мне ниче так никто и не ответил : нужно сделать таблицы для сервиса поиска синонимов , слов будет много , как лучше организовать таблицы чтобы слова не повторялись и можно было легко выбрать связку синонимов для введенного слова ?
-
да дейтвительно sum не нужна , но все равно проблема была не в этом , нельзя алиас юзать в условии рабочий : select fbID , PMWallpost + MorningWallpost + UrlLogin as zahod from FacebookUserLoginActivity where PMWallpost + MorningWallpost + UrlLogin >= ( select PMWallpost + MorningWallpost + UrlLogin as zahod from FacebookUserLoginActivity where fbID = 'someid' ) GROUP BY fbID ORDER by zahod DESC ;
-
написанно же , sum(PMWallpost + MorningWallpost + UrlLogin) as zahod , алиас суммы трех полей
-
да нет же , вот рабочий запрос: select fbID , sum(PMWallpost + MorningWallpost + UrlLogin) as zahod from FacebookUserLoginActivity GROUP BY fbID ORDER by zahod DESC limit 20; это запрос вернет например так fbID zahod "какойто айди" , "215" из полей : fbID PMWallpost MorningWallpost UrlLogin "какойто айди" , "200", "10" , "5" а как сделать условие чтоб ток те где алиас заход был выше захода нного йзуера ?
-
на не совсем empty сперва проверяет есть ли переменная и если такая есть тогда проверяет на пустоту , поэтому юзать isset и empty в одном условии нет смысла
-
что не так , хочу вынуть заход (сумму полей) и айдишники кому они пренадлежат там где заход юзера выше захода конкретного айдишника select fbID , sum(PMWallpost + MorningWallpost + UrlLogin) as zahod from FacebookUserLoginActivity where zahod >= ( select sum(PMWallpost + MorningWallpost + UrlLogin) as zahod from FacebookUserLoginActivity where fbID = '100003708141393' ) GROUP BY fbID ORDER by zahod DESC ;
-
а зачем мне обявлять статичному методу переменную в классе ? он и работает быстрее из за того что он не обращается к свойствам класса