Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

fsockopen и спец.символы

4.9K
07 ноября 2009 года
Valar
81 / / 18.03.2008
Код:
function A_UseGoogleTranslate($str, $from='en', $to='ru', $cp1251=true)
    {
    if ($cp1251) $str = iconv("Windows-1251", "UTF-8", $str);

    $fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
    if (!$fp)
        {
        trigger_error("$errstr ($errno) \n", E_USER_WARNING);
        return "";
        }
    else
        {
        $text = "text=".urlencode($str);
        $out = "POST /translate_a/t?client=t&sl=".$from."&tl=".$to." HTTP/1.1\r\n";
        $out .= "Host: www.google.com\r\n";
        $out .= "User-Agent: Mozilla/5.0\r\n";
        $out .= "Accept-Encoding: deflate\r\n";
        $out .= "Content-length: ".strlen($text)."\r\n";
        $out .= "Connection: Close\r\n\r\n";
        $out .= $text;

        fputs($fp, $out);
        $res = "";
        while (!feof($fp))
            {
            $res .=  fgets($fp, 1024);
            }
        fclose($fp);
        }

    $res = explode("\r\n\r\n",$res);
    $res = explode("\r\n",$res[1]);


    $result = stripslashes(substr($res[1],1,-1));


    if ($cp1251) return iconv("UTF-8", "Windows-1251", $result);
    else return $result;
    }


Это функция переводит тексты с помощью Google Translate. Проблема заключается в конвертировании спец. символов, в частности затрагивающих html теги.

Например, если отправляем
Цитата:

<b>Какой-то</b> <br />
<u>HTML-текст</u>



То получаем:

Цитата:

x3cbx3e Some x3c/ bx3e x3cbr /x3e rn x3cux3e HTML-text x3c/ ux3e




Подскажите, как декодировать спецсимволы.

49K
11 ноября 2009 года
MeLord
13 / / 06.08.2009
Замени x3c и x3e на хтмл сущности str_replace()'ом )))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог