Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Декодер 1252 в 1251 !?

Сообщения:  [1-10]    [11-20]  [21-23] 

 
 автор: BinLaden   (10.10.2008 в 20:52)   письмо автору
 
   для: Inviseble_Demon   (09.10.2008 в 12:03)
 

<?php

$str 
'&Acirc;&acirc;&aring;&auml;&aring;&iacute;&egrave;&aring;';

function 
get_krakozyabr_value($krakozyabr)
{
    if( 
$krakozyabr == 'Acirc' )
    {
        return 
'В';
    }
    else if( 
$krakozyabr == 'acirc' )
    {
        return 
'в';
    }
    else if( 
$krakozyabr == 'aring' )
    {
        return 
'е';
    }
    else if( 
$krakozyabr == 'auml' )
    {
        return 
'д';
    }
    else if( 
$krakozyabr == 'iacute' )
    {
        return 
'н';
    }
    else if( 
$krakozyabr == 'egrave' )
    {
        return 
'и';
    }

    
# Tut drugie krakozyabry
}

function 
zamenitb_krakozyabry($str)
{
    for(
$peremennaja_iteracii 0,
    
$uzhe_razbiraem false,
    
$novaya ''$peremennaja_iteracii strlen($str); $peremennaja_iteracii++)
    {
        if( 
$str$peremennaja_iteracii ] == '&' && $uzhe_razbiraem )
        {
            
trigger_error('Сентакс еррор ин ' htmlspecialchars($str), E_USER_ERROR);
        }
        else if( 
$str$peremennaja_iteracii ] == '&' )
        { 
            
$uzhe_razbiraem true;
            
$krakozyabr '';
        }
        else if( 
$str$peremennaja_iteracii ] == ';' && $uzhe_razbiraem )
        {
            
$uzhe_razbiraem false;
            
$novaya .= get_krakozyabr_value$krakozyabr );
        }
        else if( 
$uzhe_razbiraem )
        {
            
$krakozyabr .= $str$peremennaja_iteracii ];
        }
        else
        {
            
$novaya .= $str$peremennaja_iteracii ];
        }
    }

    return 
$novaya;
}

$str zamenitb_krakozyabry($str);

echo 
$str;
?>

  Ответить  
 
 автор: BinLaden   (10.10.2008 в 20:26)   письмо автору
 
   для: Inviseble_Demon   (09.10.2008 в 09:01)
 

IMHO, sim5 не совсем верно задал вопрос. С чего Вы взяли, что это (... &#1072;&#1073;&#1088; ...) -- windows-1252?

  Ответить  
 
 автор: sim5   (09.10.2008 в 12:35)   письмо автору
 
   для: AcidTrash   (09.10.2008 в 12:27)
 

Значит еще один баг в моей сборке есть )

  Ответить  
 
 автор: AcidTrash   (09.10.2008 в 12:27)   письмо автору
 
   для: sim5   (09.10.2008 в 12:11)
 

>Версия РНР

Судя по всему и не версия PHP, т.к. попробовал и на 4-ке и на 5-ке.

  Ответить  
 
 автор: Inviseble_Demon   (09.10.2008 в 12:11)   письмо автору
 
   для: AcidTrash   (09.10.2008 в 11:54)
 

Ага у меня тоже сработало ! Спасибки.

  Ответить  
 
 автор: sim5   (09.10.2008 в 12:11)   письмо автору
 
   для: AcidTrash   (09.10.2008 в 12:06)
 

Значит не зависит, странно... Ну причина то должна быть этому. Версия РНР, влияние какого либо расширения...? Вопрос...

  Ответить  
 
 автор: AcidTrash   (09.10.2008 в 12:06)   письмо автору
 
   для: sim5   (09.10.2008 в 12:03)
 

Под Виндовс тоже win-1251.

  Ответить  
 
 автор: sim5   (09.10.2008 в 12:03)   письмо автору
 
   для: AcidTrash   (09.10.2008 в 12:01)
 

У меня на Денвере по умолчанию win-1251, а у вас?

  Ответить  
 
 автор: Inviseble_Demon   (09.10.2008 в 12:03)   письмо автору
 
   для: sim5   (09.10.2008 в 11:41)
 

Я тоже так решил и начас писать!

Там такая фича &Acirc; это а (к примеру) другой символ другая буква. и так далее одно радует они постоянны )) кароче сижу и выясняю какой набор символов какую букву обозначает одним словом ЖЕСТЬ.

Вопросик один есть как проще замену зделать ?


$str="&Acirc;&acirc;&aring;&auml;&aring;&iacute;&egrave;&aring;";

$xer_znaet_shto[]="sdf (это типа набор кракодябр)
sdf
sdf
sdf
sf
sf
sdf
sdf
sdfs
dfs
fs
df";

$rashen_pack[]="а
б
в
г
д
е
ё
ж";

for ($i=0; $rashen_pack[!=''; $i++)
{
$str=preg_replace("#$xer_znaet_shto[$i]#", "$rashen_pack[$i]", $str);
}



Как думаеш так нармально или есть вариант попроще.

  Ответить  
 
 автор: AcidTrash   (09.10.2008 в 12:01)   письмо автору
 
   для: sim5   (09.10.2008 в 11:57)
 

Возможно и от языка.

P.S. Попробовал и под Unix и под Windows - везде работает.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-23] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования