|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 12:03)
| |
<?php
$str = 'Ââåäåíèå';
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;
?>
|
| |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 09:01)
| | IMHO, sim5 не совсем верно задал вопрос. С чего Вы взяли, что это (... абр ...) -- windows-1252? | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 12:27)
| | Значит еще один баг в моей сборке есть ) | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 12:11)
| | >Версия РНР
Судя по всему и не версия PHP, т.к. попробовал и на 4-ке и на 5-ке. | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 11:54)
| | Ага у меня тоже сработало ! Спасибки. | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 12:06)
| | Значит не зависит, странно... Ну причина то должна быть этому. Версия РНР, влияние какого либо расширения...? Вопрос... | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 12:03)
| | Под Виндовс тоже win-1251. | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 12:01)
| | У меня на Денвере по умолчанию win-1251, а у вас? | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 11:41)
| | Я тоже так решил и начас писать!
Там такая фича Â это а (к примеру) другой символ другая буква. и так далее одно радует они постоянны )) кароче сижу и выясняю какой набор символов какую букву обозначает одним словом ЖЕСТЬ.
Вопросик один есть как проще замену зделать ?
$str="Ââåäåíèå";
$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);
}
|
Как думаеш так нармально или есть вариант попроще. | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 11:57)
| | Возможно и от языка.
P.S. Попробовал и под Unix и под Windows - везде работает. | |
|
|
|
|