DreaMinder, вы не совсем правы. По-порядку:
DreaMinder пишет:удалите все элементы дизайна из кода вывода:
Не нужно этого делать. Тот вариант, с тегами (
<li>...</li>), что я привел тут, как раз так и должен выглядеть, если вы глядели в исходный код сайта
m0ntag-а.
Функции
mb_convert_encoding() и
iconv(), хотя и должны работать на хостингах с php 4.5 и выше, но часто не работают. Поэтому в моде "
Облако ссылок" я предложил использовать собственную функцию перекодировки из windows-1251 в utf-8. Повторю ее еще раз, может кому сгодится:
CODE:function CP1251toUTF8($string){
$out = '';
for ($i = 0; $i<strlen($string); ++$i){
$ch = ord($string{$i});
if ($ch < 0x80) $out .= chr($ch);
else
if ($ch >= 0xC0)
if ($ch < 0xF0)
$out .= "\xD0".chr(0x90 + $ch - 0xC0); // ю-ъ, Ю-О (A-YA, a-p)
else $out .= "\xD1".chr(0x80 + $ch - 0xF0); // П-Ъ (r-ya)
else
switch($ch){
case 0xA8: $out .= "\xD0\x81"; break; // YO
case 0xB8: $out .= "\xD1\x91"; break; // yo
// belorussain and ukrainian
case 0xA1: $out .= "\xD0\x8E"; break; // ║ (U)
case 0xA2: $out .= "\xD1\x9E"; break; // ╒ (u)
case 0xAA: $out .= "\xD0\x84"; break; // ╙ (e)
case 0xAF: $out .= "\xD0\x87"; break; // ╞ (I..)
case 0xB2: $out .= "\xD0\x86"; break; // I (I)
case 0xB3: $out .= "\xD1\x96"; break; // i (i)
case 0xBA: $out .= "\xD1\x94"; break; // ╨ (e)
case 0xBF: $out .= "\xD1\x97"; break; // № (i..)
}
}
return $out;
}
Конкретно в моем моде функцию вставить нужно сразу после строки:
CODE:#XXXXXXXXXXXX FUNCTIONS XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Тогда строка вывода должна выглядеть так:
CODE:echo CP1251toUTF8($allname);
(Добавление)
p.s. Подправил заодно
инструкцию к моду.