Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Переводчик (https://forum.antichat.xyz/showthread.php?t=54729)

Cactuz 30.11.2007 02:06

Переводчик
 
Помогите переделать этот скрипт http://forum.antichat.ru/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)?&amp;/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)?&quot;/i''"' $regs[2]);  
 
$regs[2] = preg_replace('/(\s)?&quot/i' '"' $regs[2]);  
 
$regs[2] = preg_replace('/(\s)?&lt;/i'  '<' $regs[2]);  
 
$regs[2] = preg_replace('/(\s)?&gt;/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


Kaimi 30.11.2007 02:26

Форма для ввода текста:
Код:

<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:
Код:

<?

$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)?&amp;/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)?&quot;/i', '"' , $regs[2]);
 $regs[2] = preg_replace('/(\s)?&quot/i' , '"' , $regs[2]);
 $regs[2] = preg_replace('/(\s)?&lt;/i'  , '<' , $regs[2]);
 $regs[2] = preg_replace('/(\s)?&gt;/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);

?>


Cactuz 30.11.2007 08:54

так пробывал я так....
переволд слов получаетца приблизительно таким
Цитата:

ФПМШЛП
ну непонтное осержание букв... как сделать штобы работало...

XopoIII 30.11.2007 09:08

потому что он переводит буквы с русской расскладки на англискую и наобород, а нужно переводить слова скачай лингво.

Kaimi 30.11.2007 15:05

У меня всё работает

NOmeR1 30.11.2007 21:04

Хм, там по дефолту кодировка 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>'
);
}

?>


-Hormold- 30.11.2007 22:31

У меня тоже не работает =\
РТЙЧЕФ МАДЙ!

Cactuz 30.11.2007 22:32

чёто этот вариант вообще не работает....

Cactuz 04.12.2007 11:03

АППППППППППП


Время: 16:55