Êâàðòèðû, äîìà, çåìåëüíûå ó÷àñòêè Êðàñíîäàðñêîãî êðàÿ áåç ïîñðåäíèêîâ. Îáúÿâëåíèÿ ñîáñòâåííèêîâ íåäâèæèìîñòè.
Ðåêëàìà çäåñü
Ãëàâíàÿ
Ïðèìåðû PHP Ïðèìåðû JavaScript Ïðèìåðû Ajax Ïðèìåðû CSS,HTML

soundex äëÿ ðóññêîãî ÿçûêà

Ñòàíäàðòíàÿ ôóíêöèÿ PHP soundex() íå ðàáîòàåò ñ êèðèëèöåé.

Íà õàáðõàáðå ïðåäëîæèëè àëãîðèòì soundex'a äëÿ ðóññêîãî ÿçûêà.  òîò ìîìåíò êîãäà îí ìíå ïîíàäîáèëñÿ âûÿñíèëîñü, ÷òî àëãîðèòì íå ñîâåðøåíåí (ñì. êîììåíòàðèè íà õàáðå) è ÷àñòî ïóòàåò ñîâåðøåííî ðàçíûå ñëîâà. Òåì íå ìåíåå, êàê ïðàâèëüíî çàìåòèë àâòîð àëãîðèòìà - äëÿ ôîëáýêà è ñïåöñèñòåì îí âïîëíå ñãîäèòñÿ. Äëÿ ñâîåé æå çàäà÷è ÿ èñïîëüçîâàë êàê ýòî íè ñòðàííî metaphone äëÿ àíãëèéñêîãî ÿçûêà, ïðåäâàðèòåëüíî òðàíñëèòåðèðîâàâ ðóññêèå ñëîâà.

Èñõîäíûé êîä àëãîðèòìà soundex äëÿ ðóññêîãî ÿçûêà:


<?php
function dmword($string$is_cyrillic true)
{    
static 
$codes = array(
    
'A' =>    array(array(0, -1, -1),
        
'I' =>    array(array(01, -1)),
        
'J' =>    array(array(01, -1)),
        
'Y' =>    array(array(01, -1)),
        
'U' =>    array(array(07, -1))),

    
'B' =>    array(array(777)),

    
'C' =>    array(array(555), array(444),
        
'Z' =>     array(array(444),
            
'S' =>    array(array(444))),
        
'S' =>    array(array(444),
            
'Z' =>    array(array(444))),
        
'K' =>    array(array(555), array(454545)),
        
'H' =>    array(array(555), array(444),
            
'S' =>    array(array(55454)))),

    
'D' =>    array(array(333),
        
'T' =>    array(array(333)),
        
'Z' =>    array(array(444),
            
'H' =>    array(array(444)),
            
'S' =>    array(array(444))),
        
'S' =>    array(array(444),
            
'H' =>    array(array(444)),
            
'Z' =>    array(array(444))),
        
'R' =>    array(
            
'S' =>    array(array(444)),
            
'Z' =>    array(array(444)))),

    
'E' =>    array(array(0, -1, -1),
        
'I' =>    array(array(01, -1)),
        
'J' =>    array(array(01, -1)),
        
'Y' =>    array(array(01, -1)),
        
'U' =>    array(array(11, -1))),

    
'F' =>    array(array(777),
        
'B' =>    array(array(777))),

    
'G' =>    array(array(555)),

    
'H' =>    array(array(55, -1)),

    
'I' =>    array(array(0, -1, -1),
        
'A' =>    array(array(1, -1, -1)),
        
'E' =>    array(array(1, -1, -1)),
        
'O' =>    array(array(1, -1, -1)),
        
'U' =>    array(array(1, -1, -1))),

    
'J'    =>    array(array(444)),

    
'K' =>    array(array(555),
        
'H' =>    array(array(555)),
        
'S' =>    array(array(55454))),

    
'L' =>    array(array(888)),

    
'M' =>    array(array(666),
        
'N' =>    array(array(666666))),

    
'N' =>    array(array(666),
        
'M' =>    array(array(666666))),

    
'O' =>    array(array(0, -1, -1),
        
'I' =>    array(array(01, -1)),
        
'J' =>    array(array(01, -1)),
        
'Y' =>    array(array(01, -1))),

    
'P' =>    array(array(777),
        
'F'    =>    array(array(777)),
        
'H'    =>    array(array(777))),

    
'Q' =>    array(array(555)),

    
'R' =>    array(array(999),
        
'Z'    =>    array(array(949494), array(949494)), // special case
        
'S' =>    array(array(949494), array(949494))), // special case

    
'S' =>    array(array(444),
        
'Z' =>    array(array(444),
            
'T' =>    array(array(24343)),
            
'C' =>    array(
                
'Z' => array(array(244)),
                
'S' => array(array(244))),
            
'D' =>    array(array(24343))),
        
'D' =>    array(array(24343)),
        
'T' =>    array(array(24343),
            
'R'    =>    array(
                
'Z' =>    array(array(244)),
                
'S' =>    array(array(244))),
            
'C' =>    array(
                
'H' =>    array(array(244))),
            
'S' =>    array(
                
'H'    =>    array(array(244)),
                
'C' =>    array(
                    
'H' =>    array(array(244))))),
        
'C'    =>    array(array(244),
            
'H' =>    array(array(444),
                
'T' => array(array(24343),
                    
'S' => array(
                        
'C' => array(
                            
'H' =>    array(array(244))),
                        
'H' => array(array(244))),
                    
'C' => array(
                        
'H' =>    array(array(244)))),
                
'D' =>    array(array(24343)))),
        
'H' =>    array(array(444),
            
'T'    =>    array(array(24343),
                
'C' =>    array(
                    
'H' =>    array(array(244))),
                
'S' =>    array(
                    
'H' =>    array(array(244)))),
            
'C'    =>    array(
                
'H' =>    array(array(244))),
            
'D' =>    array(array(24343)))),

    
'T' =>    array(array(333),
        
'C' =>    array(array(444),
            
'H' =>    array(array(444))),
        
'Z'    =>    array(array(444),
            
'S' =>    array(array(444))),
        
'S' =>    array(array(444),
            
'Z' =>    array(array(444)),
            
'H' =>    array(array(444)),
            
'C' =>    array(
                
'H' =>    array(array(444)))),
        
'T' =>    array(
            
'S' =>    array(array(444),
                
'Z' =>    array(array(444)),
                
'C' =>    array(
                    
'H' =>    array(array(444)))),
            
'C' =>    array(
                
'H' =>    array(array(444))),
            
'Z' =>    array(array(444))),
        
'H' =>    array(array(333)),
        
'R' =>    array(
            
'Z' =>    array(array(444)),
            
'S' =>    array(array(444)))),

    
'U' =>    array(array(0, -1, -1),
        
'E' =>    array(array(0, -1, -1)),
        
'I' =>    array(array(01, -1)),
        
'J' =>    array(array(01, -1)),
        
'Y' =>    array(array(01, -1))),

    
'V' =>    array(array(777)),

    
'W' =>    array(array(777)),

    
'X' =>    array(array(55454)),

    
'Y' =>    array(array(1, -1, -1)),

    
'Z' =>    array(array(444),
        
'D' =>    array(array(24343),
            
'Z' =>    array(array(244),
                
'H' =>    array(array(244)))),
        
'H' =>    array(array(444),
            
'D' => array(array(24343),
                
'Z' =>    array(
                    
'H' =>    array(array(244))))),
        
'S' =>    array(array(444),
            
'H' =>    array(array(444)),
            
'C' =>    array(
                
'H' =>    array(array(444))))));

$length strlen($string);
$output '';
$i 0;

$previous = -1;

while (
$i $length)
{        
    
$current $last = &$codes[$string[$i]];

    for (
$j $k 1$k 7$k++)
    {            
        if (!isset(
$string[$i $k]) ||
            !isset(
$current[$string[$i $k]]))
            break;

        
$current = &$current[$string[$i $k]];                        

        if (isset(
$current[0]))
        {
            
$last = &$current;
            
$j $k 1;
        }
    }

    if (
$i == 0)
        
$code $last[0][0];
    elseif (!isset(
$string[$i $j]) || ($codes[$string[$i $j]][0][0] != 0))
        
$code $is_cyrillic ? (isset($last[1]) ? $last[1][2] : $last[0][2]) : $last[0][2];
    else
        
$code $is_cyrillic ? (isset($last[1]) ? $last[1][1] : $last[0][1]) : $last[0][1];

    if ((
$code != -1) && ($code != $previous))
        
$output .= $code;

    
$previous $code;

    
$i += $j;

}

return 
str_pad(substr($output06), 6'0');
}
 
 
function 
dmstring($string)
{
$is_cyrillic false;
if (
preg_match('#[À-ßà-ÿ]#i'$string) === 1)
{
    
$string translit($string);
    
$is_cyrillic true;
}

$string preg_replace(array('#[^\w\s]|\d#i''#\b[^\s]{1,3}\b#i''#\s{2,}#i''#^\s+|\s+$#i'),
    array(
''''' '), strtoupper($string));

if (!isset(
$string[0]))
    return 
null;

$matches explode(' '$string);
foreach(
$matches as $key => $match)
    
$matches[$key] = dmword($match$is_cyrillic);            
return 
$matches;
}
 
 
function 
translit($string)
{
static 
$ru = array(
    
'À''à''Á''á''Â''â''Ã''ã''Ä''ä''Å''å''¨''¸''Æ''æ''Ç''ç',
    
'È''è''É''é''Ê''ê''Ë''ë''Ì''ì''Í''í''Î''î''Ï''ï''Ð''ð',
    
'Ñ''ñ''Ò''ò''Ó''ó''Ô''ô''Õ''õ''Ö''ö''×''÷''Ø''ø''Ù''ù',
    
'Ú''ú''Û''û''Ü''ü''Ý''ý''Þ''þ''ß''ÿ'
);

static 
$en = array(
    
'A''a''B''b''V''v''G''g''D''d''E''e''E''e''Zh''zh''Z''z'
    
'I''i''J''j''K''k''L''l''M''m''N''n''O''o''P''p''R''r',
    
'S''s''T''t''U''u''F''f''H''h''C''c''Ch''ch''Sh''sh''Sch''sch',
    
'\'''\'''Y''y',  '\'''\'''E''e''Ju''ju''Ja''ja'
);

$string str_replace($ru$en$string);    
return 
$string;
}
 
echo 
'Àðíîëüä Øâàðöíåããåð '.implode(' 'dmstring('Àðíîëüä Øâàðöíåããåð'))."\n";
echo 
'Arnold Schwarzenegger '.implode(' 'dmstring('Arnold Schwarzenegger'))."\n";
echo 
'Îðíîëüä Øâîðöíåãèð '.implode(' 'dmstring('Îðíîëüä Øâîðöíåãèð'))."\n";
?>
Ñêîïèðîâàòü â áóôåð

Âçÿòî ñ http://p2k.ru/archives/57.

Åùå îäèí âàðèàíò ru_soundex:


<?php
# to Arthur

// (cc) me, 23/08/2007-27/08/2007

$str "ê ñêàëàì áóðûì";
print 
"ru_soundex($str) = ".ru_soundex($str)."<br />\r\n";

$str "ñ êàëàìáóðîì";
print 
"ru_soundex($str) = ".ru_soundex($str)."<br />\r\n";;

function 
ru_soundex($source)
{
$res '';

$literal = array();
// àññîöèàòèâíûé ìàññèâ áóêâ
// ïàðàìåòðû çâóêîâ ãëàñíûé / ñîãëàñíûé

// äëÿ ãëàñíûõ ïåðåõîä áóêâû â çâóê(è), ðåäóöèðîâàííûé/íåò, ïðåäïîëàãàåìûå ïðàâèëà óäàðåíèÿ èñõîäÿ èç êîë-âà ñëîãîâ (stressed syllable)
// ðåàëèçîâàíà ïðîâåðêà ïðåäïîëàãàåìîãî óäàðåíèÿ

// äëÿ ñîãëàñíûõ ïåðåõîä áóêâ[û] â çâóê(è), ðåäóöèðóåìûé/íåò, ïðàâèëà ðåäóöèðîâàíèÿ

// vowel
$literal['À'] = array('status'=>'ãëàñíûé','sound'=>'à','stressed'=>'à'); // íèêîãäà íå ìåíÿåòñÿ
$literal['Å'] = array('status'=>'ãëàñíûé','sound'=>'è','stressed'=>'ý''ÀàÅ娸ÈèÎîÓóÝýÞþßÿÜüÛûÚú' => 'éý'); // - îñîáûå ïðàâèëà, äëÿ ýòîé áóêâû, ñòîÿùåé ïîñëå óêàçàííûõ, à òàêæå â íà÷àëå ñëîâ
$literal['¨'] = array('status'=>'ãëàñíûé','sound'=>'î','stressed'=>'î''ÀàÅ娸ÈèÎîÓóÝýÞþßÿÜüÛûÚú' => 'éî');
$literal['È'] = array('status'=>'ãëàñíûé','sound'=>'è','stressed'=>'è');
$literal['Î'] = array('status'=>'ãëàñíûé','sound'=>'à','stressed'=>'î');
$literal['Ó'] = array('status'=>'ãëàñíûé','sound'=>'ó','stressed'=>'ó');
$literal['Û'] = array('status'=>'ãëàñíûé','sound'=>'û','stressed'=>'û');
$literal['Ý'] = array('status'=>'ãëàñíûé','sound'=>'ý','stressed'=>'ý');
$literal['Þ'] = array('status'=>'ãëàñíûé','sound'=>'ó','stressed'=>'ó''ÀàÅ娸ÈèÎîÓóÝýÞþßÿÜüÛûÚú' => 'éó');
$literal['ß'] = array('status'=>'ãëàñíûé','sound'=>'à','stressed'=>'à''ÀàÅ娸ÈèÎîÓóÝýÞþßÿÜüÛûÚú' => 'éà'); // çàÿö ïðîèçíîñèòñÿ êàê [çàéåö]
$v_pattern 'ÀàÅ娸ÈèÎîÓóÝýÞþßÿÜüÛûÚú';

// êñòàòè, íàäî äîáàâèòü âûêóñûâàíèå ãëàñíûõ èç êîíöîâ ñëîâ, çàêàí÷èâàþùèõñÿ íà ñîãëàñíûé-ãëàñíûé-çâîíêèé ñîãëàñíûé (-ðîì, -ëåì, èòä) ãëàñíàÿ î÷åíü ÷àñòî ñãëàòûâàåòñÿ
// çû: ýòî çäåñü íå ðåàëèçîâàíî %)
// ïðîâåðåíî: soundex è ñàì ñ ýòèì íåïëîõî ñïðàâëÿåòñÿ

// çâîíêèå ñîãëàñíûå ðåäóöèðóþòñÿ ïðè óäâîåíèè.
// çâîíêèå ñîãëàñíûå ïåðåõîäÿò â ïàðíûé ãëóõîé ïåðåä ãëóõèì
// ãëóõèå ðåäóöèðóþòñÿ ïîëíîñòüþ ïåðåä ãëóõèìè.

// consonant
// â îòëè÷èå îò ãëàñíûõ, äëÿ ñîãëàñíûõ óñëîâèå "ñòîèò ïåðåä óêàçàííîé èëè â êîíöå ñëîâà"
$literal['Á'] = array('status'=>'ñîãëàñíûé','sound'=>'á''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => 'ï');
$literal['Â'] = array('status'=>'ñîãëàñíûé','sound'=>'â''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => 'ô');
$literal['Ã'] = array('status'=>'ñîãëàñíûé','sound'=>'Ã''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => 'ê');
$literal['Ä'] = array('status'=>'ñîãëàñíûé','sound'=>'ä''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => 'ò');
$literal['Æ'] = array('status'=>'ñîãëàñíûé','sound'=>'æ''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => 'ø');
$literal['Ç'] = array('status'=>'ñîãëàñíûé','sound'=>'ç''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => 'ñ');
$literal['É'] = array('status'=>'ñîãëàñíûé','sound'=>'é');
$literal['Ê'] = array('status'=>'ñîãëàñíûé','sound'=>'ê''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => '');
$literal['Ë'] = array('status'=>'ñîãëàñíûé','sound'=>'ë');
$literal['Ì'] = array('status'=>'ñîãëàñíûé','sound'=>'ì');
$literal['Í'] = array('status'=>'ñîãëàñíûé','sound'=>'í');
$literal['Ï'] = array('status'=>'ñîãëàñíûé','sound'=>'ï''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => '');
$literal['Ð'] = array('status'=>'ñîãëàñíûé','sound'=>'ð');
$literal['Ñ'] = array('status'=>'ñîãëàñíûé','sound'=>'ñ'); // à âîò Ñ íå õî÷åò ðåäóöèðîâàòüñÿ, íà ïåðâûé âçãëÿä...
$literal['Ò'] = array('status'=>'ñîãëàñíûé','sound'=>'ò''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => '');
$literal['Ô'] = array('status'=>'ñîãëàñíûé','sound'=>'ô''ÊêÏïÑñÒòÔôÕõÖö×÷ØøÙù' => ''); // ñïîðíî
$literal['Õ'] = array('status'=>'ñîãëàñíûé','sound'=>'õ');
$literal['Ö'] = array('status'=>'ñîãëàñíûé','sound'=>'ö');
$literal['×'] = array('status'=>'ñîãëàñíûé','sound'=>'÷ü'); // âñåãäà ìÿãêèé
$literal['Ø'] = array('status'=>'ñîãëàñíûé','sound'=>'ø');
$literal['Ù'] = array('status'=>'ñîãëàñíûé','sound'=>'ùü');

// ñïåöñèìâîëû
$literal['Ú'] = array('status'=>'çíàê','sound'=>' '); // òîëüêî ðàçäåëèòåëüíûé. äåëèò æ¸ñòêî
$literal['Ü'] = array('status'=>'çíàê','sound'=>'ü'); // äàæå åñëè äåëèò, òî ìÿãêî

$literal['ÒÑ'] = array('status'=>'ñî÷åòàíèå','sound'=>'ö');
$literal['ÒÜÑ'] = $literal['ÒÑ'];
$literal['ØÜ'] = array('status'=>'ñî÷åòàíèå','sound'=>'ø'); // âñåãäà òâ¸ðäûé. è ýòî íå åäèíñòåííûé ðóäèìåíò ÿçûêà

$literal['ÑÎËÍÖ'] = array('status'=>'ñî÷åòàíèå','sound'=>'ñîíö');
$literal['ßÈ×ÍÈÖ'] = array('status'=>'ñî÷åòàíèå','sound'=>'åèøíèö');
$literal['ÊÎÍÅ×ÍÎ'] = array('status'=>'ñî÷åòàíèå','sound'=>'êàíåøíî');
$literal['×ÒÎ'] = array('status'=>'ñî÷åòàíèå','sound'=>'øòî');
$literal['ÇÀß'] = array('status'=>'ñî÷åòàíèå','sound'=>'çàéý'); // äà-äà. íå òîëüêî [çàéýö], íî è [çàéýâëüýíèéý]




$sound str_to_upper($source);

// ñíà÷àëà ñî÷åòàíèÿ
foreach( array_filter($literal,
create_function('$item','if( $item["status"] === "ñî÷åòàíèå") return true; return false;'))
as 
$sign => $translate )
$sound str_replace($sign,$translate["sound"],$sound);

// ïîòîì çíàêè
foreach( array_filter($literal,
create_function('$item','if( $item["status"] === "çíàê") return true; return false;'))
as 
$sign => $translate )
$sound str_replace($sign,$translate["sound"],$sound);


// ðàçäåëÿåì íà ñëîâà, îïðåäåëÿåì êîë-âî ñëîãîâ, çàìåíÿåì óäàðíûé/áåçóäàðíûé ãëàñíûé (åäèíñòâåííûé èëè ïðåäïîëàãàÿ âòîðîé â äâóõ-òð¸õñëîæíîì ñëîâå, ïðåäïðåäïîñëåäíèé - â îñòàëüíûõ)

$words preg_split('~[,.\~`1234567890-=\~!@#$%^&*()_+|{}\]\];:\'"<>/? ]~'$sound, -1PREG_SPLIT_NO_EMPTY);

// ãëàñíûå
foreach( array_filter($literal,
create_function('$item','if( $item["status"] === "ãëàñíûé") return true; return false;'))
as 
$sign => $translate )
{
// äëÿ êàæäîãî ñëîâà
foreach( $words as &$word )
{
// êîë-âî ãëàñíûõ
$vowel preg_match_all("~[$v_pattern]~"$word$del_me );
// ãîòîâèì
$cur_pos 0;
$cur_vowel 0;
while( 
false !== $cur_pos strpos($word,$sign,$cur_pos) )
{
$cur_vowel++;
// print $cur_pos.' = '.$sound[$cur_pos]."<br />\r\n";
if( sizeof($translate)==&& ($cur_pos === || strpos$v_pattern $word[$cur_pos-1] )))
{
$word substr_replace($word,$translate[$v_pattern],$cur_pos,1);
}
elseif( 
== $vowel )
$word substr_replace($word,$translate["stressed"],$cur_pos,1); //
elseif( == $vowel && == $cur_vowel )
$word substr_replace($word,$translate["stressed"],$cur_pos,1); // ïðåäïîëàãàåì, ÷òî â äâóõñëîæíûõ ñëîâàõ ïåðâûé ñëîã óäàðíûé
elseif( <= $vowel && $cur_vowel == $vowel )
$word substr_replace($word,$translate["stressed"],$cur_pos,1); // ïðåäïîëàãàåì, ÷òî ñëîã óäàðíûé ïðåäïðåäïîñëåäíèé
else
$word substr_replace($word,$translate["sound"],$cur_pos,1);
$cur_pos++;
}
}
}

$sound implode$words' ' ); // êëåèì îáðàòíî

// ñîãëàñíûå
foreach( array_filter($literal,
create_function('$item','if( $item["status"] === "ñîãëàñíûé") return true; return false;'))
as 
$sign => $translate )
{
// ãîòîâèì
$cur_pos 0;
while( 
false !== $cur_pos strpos($sound,$sign,$cur_pos) )
{
// print $cur_pos.' = '.$sound[$cur_pos]."<br />\r\n";
if( sizeof($translate)==)
{
$x array_pop(array_keys($translate)); // ñíèìàåì òðåòèé ýëåìåíò
if( strpos$x$sound[$cur_pos+1] ) || $cur_pos === strlen($sound) )
{
$sound substr_replace($sound,$translate[$x],$cur_pos,1);
} elseif ( 
$sound[$cur_pos] === $sound[$cur_pos+1] )
$sound substr_replace($sound,$translate["sound"],$cur_pos,2); // âñå äâîéíûå ðåäóöèðóþòñÿ
else
$sound substr_replace($sound,$translate["sound"],$cur_pos,1);

} else
{
$sound substr_replace($sound,$translate["sound"],$cur_pos,1);
}

$cur_pos++;
}
}
// àëåñ. ôîíåìû ïðèâåëè ê îäíîìó âèäó
// äàëüøå èñïîëüçóåì ëþáîé àëãîðèòì äëÿ âû÷èñëåíèÿ ÷èñëîâîãî ýêâèâàëåíòà

// íî îñòà¸òñÿ ñîìíåíèå. î÷åíü õî÷åòñÿ ðàññòàòüñÿ ñ ãëóõèìè ïðåäëîãàìè ïåðåä ãëóõèìè ñîãëàñíûìè ("ê ñêàëàì")


$sound preg_replace('~[,.\~`1234567890-=\~!@#$%^&*()_+|{}\]\];:\'"<>/? ]~','',$sound) ;

// print $sound;
// print str_to_translit($sound);
// print soundex(str_to_translit($sound));

$res str_to_upper($source[0]).substr(soundex(str_to_translit($sound)),1);

return 
$res;
}



// (c) http://ru2.php.net/manual/en/function.strtoupper.php#74574
//Russian
function str_to_upper($str){
return 
strtr($str,
"abcdefghijklmnopqrstuvwxyz".
"\xE0\xE1\xE2\xE3\xE4\xE5".
"\xb8\xe6\xe7\xe8\xe9\xea".
"\xeb\xeC\xeD\xeE\xeF\xf0".
"\xf1\xf2\xf3\xf4\xf5\xf6".
"\xf7\xf8\xf9\xfA\xfB\xfC".
"\xfD\xfE\xfF",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
"\xC0\xC1\xC2\xC3\xC4\xC5".
"\xA8\xC6\xC7\xC8\xC9\xCA".
"\xCB\xCC\xCD\xCE\xCF\xD0".
"\xD1\xD2\xD3\xD4\xD5\xD6".
"\xD7\xD8\xD9\xDA\xDB\xDC".
"\xDD\xDE\xDF");
}

function 
str_to_translit($str){
return 
strtr($str,
"abcdefghijklmnopqrstuvwxyz".
"\xE0\xE1\xE2\xE3\xE4\xE5".
"\xb8\xe6\xe7\xe8\xe9\xea".
"\xeb\xeC\xeD\xeE\xeF\xf0".
"\xf1\xf2\xf3\xf4\xf5\xf6".
"\xf7\xf8\xf9\xfA\xfB\xfC".
"\xfD\xfE\xfF",
"abcdefghijklmnopqrstuvwxyz".
"abvgde".
"?*ziik".
"lmnopr".
"stufhc".
"4ww\"y`".
"eua");
}
?>
Ñêîïèðîâàòü â áóôåð

Âçÿòî çäåñü: http://ru-php.livejournal.com/1062493.html.

òåëåôîíû siemens dect
ñîêîâûæèìàëêà panasonic óäîáíûå
âûáîð íîóòáóêà , ãàðàíòèÿ
ñîçäàíèå ñàéòà, àíèìàöèÿ .

© Copyright 2008-2012 by KDG