Помогите переделать этот скрипт /showpost.php?p=457135&postcount=193 PHP: <? #(c) NOmeR1 && Идея - madnet :) function translate($text,$mask = 'ru|en') { $open = file_get_contents('http://translate.google.com/translate_t?hl=en&ie=WINDOWS-1251&text='.urlencode($text).'&langpair='.$mask); $open = preg_match('/<textarea name=utrans([^>]+)>([^<]+)<\/textarea>/i',$open,$regs); $regs[2] = preg_replace('/(\s)?&/i' , '&' , $regs[2]); $regs[2] = preg_replace('/(\s)?&#*039;/i', "'" , $regs[2]); //уберите символ * после &# потому что форум не фильтрует эти символы :( $regs[2] = preg_replace('/(\s)?&#*39;/i' , "'" , $regs[2]); //уберите символ * после &# потому что форум не фильтрует эти символы :( $regs[2] = preg_replace('/(\s)?"/i', '"' , $regs[2]); $regs[2] = preg_replace('/(\s)?"/i' , '"' , $regs[2]); $regs[2] = preg_replace('/(\s)?</i' , '<' , $regs[2]); $regs[2] = preg_replace('/(\s)?>/i' , '>' , $regs[2]); $regs[2] = preg_replace('/(\s)?\//i' , '/' , $regs[2]); $regs[2] = preg_replace('/(\s)?\)/i' , ')' , $regs[2]); $regs[2] = preg_replace('/(\s)?\(/i' , '(' , $regs[2]); $regs[2] = preg_replace('/(\s)?=/i' , '=' , $regs[2]); return $regs[2]; } echo translate('<input value="Этот скрипт умеет переводить текст в тегах." style="width:210px"> А так же и вне тега.','ru|en'); ?> ну штобы я вводил текст и мог перевести его на русский и наоборот на английский ну штото наподобие этой формы... только скрипт не работает =( PHP: <form method="post"> <input type=text name=txt> <select name=mask> <option value="en|ru">английский-русский <option value="ru|en" selected>русский-английский </select> <input type=submit name=click value="Перевести!"> </form>
Форма для ввода текста: Code: <form action="tr.php" method="get"> <input type=text name=txt> <select name=mask> <option value="en|ru">английский-русский <option value="ru|en" selected>русский-английский </select> <input type=submit name=click value="Перевести!"> </form> Файл tr.php: Code: <? $mask = $_GET['mask']; $txt = $_GET['txt']; function translate($text,$mask) { $open = file_get_contents('http://translate.google.com/translate_t?hl=en&ie=WINDOWS-1251&text='.urlencode($text).'&langpair='.$mask); $open = preg_match('/<textarea name=utrans([^>]+)>([^<]+)<\/textarea>/i',$open,$regs); $regs[2] = preg_replace('/(\s)?&/i' , '&' , $regs[2]); $regs[2] = preg_replace('/(\s)?&#*039;/i', "'" , $regs[2]); //уберите символ * после &# потому что форум не фильтрует эти символы :( $regs[2] = preg_replace('/(\s)?&#*39;/i' , "'" , $regs[2]); //уберите символ * после &# потому что форум не фильтрует эти символы :( $regs[2] = preg_replace('/(\s)?"/i', '"' , $regs[2]); $regs[2] = preg_replace('/(\s)?"/i' , '"' , $regs[2]); $regs[2] = preg_replace('/(\s)?</i' , '<' , $regs[2]); $regs[2] = preg_replace('/(\s)?>/i' , '>' , $regs[2]); $regs[2] = preg_replace('/(\s)?\//i' , '/' , $regs[2]); $regs[2] = preg_replace('/(\s)?\)/i' , ')' , $regs[2]); $regs[2] = preg_replace('/(\s)?\(/i' , '(' , $regs[2]); $regs[2] = preg_replace('/(\s)?=/i' , '=' , $regs[2]); return $regs[2]; } echo translate($txt,$mask); ?>
так пробывал я так.... переволд слов получаетца приблизительно таким ну непонтное осержание букв... как сделать штобы работало...
потому что он переводит буквы с русской расскладки на англискую и наобород, а нужно переводить слова скачай лингво.
Хм, там по дефолту кодировка UTF-8. Попробуй PHP: <? if( $_POST['text'] && $_POST['mask'] ) { function translate($text,$mask) { $open = file_get_contents('http://translate.google.com/translate_t?hl=en&ie=UTF8&text='.urlencode($text).'&langpair='.$mask); $open = preg_match('/<textarea name=utrans([^>]+)>([^<]+)<\/textarea>/i',$open,$regs); return $regs[2]; } echo translate($_POST['text'],$_POST['mask']); } else { echo('<form method="POST"> Текст для перевода: <input type="text" name="text"><br> <select name=mask> <option value="en|ru">английский-русский</option> <option value="ru|en" selected>русский-английский </option> </select><br> <input type="submit"> </form>'); } ?>