Не знаю как вам, други, а мне-таки кажется, что я написал очередную функцию транслитерации на PHP. На этот раз – вроде, с учетом правил, написанных в умной книжке умным дядькой.

Собственно, пользуйтесь =)

public function transliterate(&$wordarr)
{
	$ru_vowels = array( '/же/',  '/ше/',  '/че/',  '/ще/', '/ье/','/ъе/','/ьи/','/ъи/','/ъо/','/ьо/','/а/','/е/', '/ё/' ,'/и/','/о/','/у/','/ы/','/э/','/ю/', '/я/',);
	$en_vowels = array( 'zhe', 'she', 'che', 'shche', 'ye','ye','yi','yi','yo','yo','a','e','yo','i','o','u','y','e','yu','ya' );
 
	$ru_consonants 	= array('/б/','/в/','/г/','/д/','/ж/', '/з/','/й/','/к/','/л/','/м/','/н/','/п/','/р/','/с/','/т/','/ф/','/х/', '/ц/', '/ч/', '/ш/', '/щ/','/ъ/','/ь/');
	$en_consonants  = array('b','v','g','d','zh','z','y','k','l','m','n','p','r','s','t','f','kh','ts','ch','sh','shch','',  '');
 
	$pattern = array_merge($ru_vowels,$ru_consonants);
	$replace = array_merge($en_vowels,$en_consonants);
 
	foreach ($wordarr as $key=>$item) {
		$wordarr[$key] = preg_replace($pattern,$replace,strtolower($item));
	}
}
Социальные закладки:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • TwitThis
  • Live
  • email
  • MySpace
  • Technorati
  • RSS

Похожих записей нет.