bunny
Постоялец
- Регистрация
- 17 Мар 2007
- Сообщения
- 66
- Реакции
- 4
PHP:
function totranslit($var, $lower = true, $punkt = true) {
$NpjLettersFrom = "абвгдезиклмнопрстуфцыі";
$NpjLettersTo = "abvgdeziklmnoprstufcyi";
$NpjBiLetters = array ("й" => "j", "ё" => "yo", "ж" => "zh", "х" => "x", "ч" => "ch", "ш" => "sh", "щ" => "shh", "э" => "ye", "ю" => "yu", "я" => "ya", "ъ" => "", "ь" => "", "ї" => "yi", "є" => "ye" );
$NpjCaps = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯЇЄІ";
$NpjSmall = "абвгдеёжзийклмнопрстуфхцчшщьъыэюяїєі";
$var = str_replace( ".php", "", $var );
$var = trim( strip_tags( $var ) );
$var = preg_replace( "/\s+/ms", "-", $var );
$var = strtr( $var, $NpjCaps, $NpjSmall );
$var = strtr( $var, $NpjLettersFrom, $NpjLettersTo );
$var = strtr( $var, $NpjBiLetters );
if ( $punkt ) $var = preg_replace( "/[^a-z0-9\_\-.]+/mi", "", $var );
else $var = preg_replace( "/[^a-z0-9\_\-]+/mi", "", $var );
$var = preg_replace( '#[\-]+#i', '-', $var );
if ( $lower ) $var = strtolower( $var );
if( strlen( $var ) > 50 ) {
$var = substr( $var, 0, 50 );
if( ($temp_max = strrpos( $var, '-' )) ) $var = substr( $var, 0, $temp_max );
}
return $var;
}
$pattern="#(.+?): rate=([\.0-9]+), reserve=([\.0-9]+)#" ;
preg_match_all($pattern, $content, $cur_arr);
//print_r($cur_arr);
$replace_arr=array("=>","->");//заменяем все "=>" или " -> " мб еще что нито буит ждя преобразования к виду wmz_wmz
for($i=0;$i<count($cur_arr[0]);$i++)
{$wm=str_replace($replace_arr,"_",$cur_arr[1][$i]);
$wm=str_replace(array(" ",".","-"),"",$wm);//здесь удаляем лищние знаки
$wm=totranslit($wm);//переводим в транслит, так как незя руские имена
$exchange[$wm]['rate']=$cur_arr[2][$i];
$exchange[$wm]['reserve']=$cur_arr[3][$i];
}
Только придеться подправлять функцию db_array_to_mysql
так как не работает она с двумерными массивами