UTF-8, спецсимволы

P2N

Новичок
UTF-8, спецсимволы

В перменную попадает текст в кодировке UTF-8. "бла − бла …"

После применения $in=iconv('utf-8','windows-1251', $in); и прочих функций конвертирования спец символы затираются. и оставетс

$in="бла бла ";


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

Фанат

oncle terrible
Команда форума
а откуда в переменную попадает текст в кодировке UTF-8?
 

P2N

Новичок
fsockopen("www.ru", 80, $errno, $errstr, 30);

-~{}~ 07.10.08 12:15:

нашел выход... =)


PHP:
function utf8_html_entity_encode($s)
{

	        
    $table = array_flip(array(
    
    	        '-'   => "\xe2\x88\x92",
	         '_'  => "\xe2\x80\xa6"
    ));


    preg_match_all('/  [\xc2\xc3\xc5\xc6\xcb\xce\xcf][\x80-\xbf]  #2 bytes
                     | \xe2[\x80-\x99][\x82-\xac]                 #3 bytes
                     /sx', $s, $m);
    foreach (array_unique($m[0]) as $char)
    {
        if (array_key_exists($char, $table)) $s = str_replace($char, $table[$char], $s);
    }#foreach

    return $s;
}
 
Сверху