note 110241 deleted from function.date by danbrown

From: Date: Thu, 06 Dec 2012 15:01:54 +0000
Subject: note 110241 deleted from function.date by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-192359@lists.php.net to get a copy of this message
Note Submitter: dev5er6 at gmail dot com ---- <?php function date_lang($format='',$time=false,$mode=null/**/,$lang=false){//**/){$lang='ru-RU';/**/ if(!$lang)$lang='ru-RU'; static $static=array(); if(!$format)return''; $date=''; $encoding='UTF-8'; $charset='charset'; $time=($time&&is_numeric($time)&&$time>0)?$time:(($time&&is_string($time))?strtotime($time):time()); if(isset($static[$lang])&&count($static[$lang]))$translate=&$static[$lang]; else{ $static=array( 'en-GB'=>array($charset=>'UTF-8','format'=>'f d Y'), 'ru-RU'=>array($charset=>/**/'windows-1251',//**/'cp-1251',/**/ 'format'=>'d F Y', 'A'=>array('A','AM'=>'ДП','PM'=>'ПП'), 'a'=>array('a','am'=>'дп','pm'=>'пп'), 'D'=>array('D','Sun'=>'Вс','Mon'=>'Пн','Tue'=>'Вт','Wed'=>'Ср','Thu'=>'Чт','Fri'=>'Пт','Sat'=>'Сб'), 'l'=>array('l', 'Sunday'=>'Воскресенье', 'Monday'=>'Понедельник', 'Tuesday'=>'Вторник', 'Wednesday'=>'Среда', 'Thursday'=>'Четверг', 'Friday'=>'Пятница', 'Saturday'=>'Суббота'), 'f'=>array('F', 'January'=>'Январь', 'February'=>'Февраль', 'March'=>'Март', 'April'=>'Апрель', 'May'=>'Май', 'June'=>'Июнь', 'July'=>'Июль', 'August'=>'Август', 'September'=>'Сентябрь', 'October'=>'Октябрь', 'November'=>'Ноябрь', 'December'=>'Декабрь'), 'F'=>array('F', 'January'=>'Января', 'February'=>'Февраля', 'March'=>'Марта', 'April'=>'Апреля', 'May'=>'Мая', 'June'=>'Июня', 'July'=>'Июля', 'August'=>'Августа', 'September'=>'Сентября', 'October'=>'Октября', 'November'=>'Ноября', 'December'=>'Декабря'), 'S'=>array('S','st'=>'ое','nd'=>'ое','rd'=>'ое','th'=>'ое') ), 'uk-UA'=>array($charset=>/**/'windows-1251',//**/'cp-1251',/**/ 'format'=>'d F Y', 'А'=>array('A','AM'=>'ДП','PM'=>'ПП'), 'а'=>array('a','am'=>'дп','pm'=>'пп'), 'Д'=>array('D','Sun'=>'Нд','Mon'=>'Пн','Tue'=>'Вт','Wed'=>'Ср','Thu'=>'Чт','Fri'=>'Пт','Sat'=>'Сб'), 'л'=>array('l', 'Sunday'=>'Неділя', 'Monday'=>'Понедiлок', 'Tuesday'=>'Вiвторок', 'Wednesday'=>'Середа', 'Thursday'=>'Четвер', 'Friday'=>'П’ятниця', 'Saturday'=>'Субота'), 'Ф'=>array('F', 'January'=>'Січень', 'February'=>'Лютий', 'March'=>'Березень', 'April'=>'Квітень', 'May'=>'Травень', 'June'=>'Червень', 'July'=>'Липень', 'August'=>'Серпень', 'September'=>'Вересень', 'October'=>'Жовтень', 'November'=>'Листопад', 'December'=>'Грудень'), 'ф'=>array('F', 'January'=>'Січня', 'February'=>'Лютого', 'March'=>'Березня', 'April'=>'Квітня', 'May'=>'Травня', 'June'=>'Червня', 'July'=>'Липня', 'August'=>'Серпня', 'September'=>'Вересня', 'October'=>'Жовтня', 'November'=>'Листопада', 'December'=>'Грудня'), 'S'=>array('S','st'=>'ое','nd'=>'ое','rd'=>'ое','th'=>'ое') ) ); if(isset($static[$lang])&&count($static[$lang]))$translate=&$static[$lang]; // else return trigger_error(sprintf('%s( \'%s\',%s,%s,\'%s\') Couldn\'t find ARRAY_KEY "%s"!',__FUNCTION__,$format,$time,$mode,$lang,$lang),E_USER_WARNING); } if(is_bool($format))$format=@$translate['format']; $charset=isset($translate[$charset])?$translate[$charset]:$encoding; $slash=false; foreach(str_split(iconv($encoding,$charset,$format))as$char) if($char=='\\')continue$slash=true; elseif($slash&&$date.=iconv($charset,$encoding,$char))continue$slash=false; else $date.=(!isset($translate[$key=iconv($charset,$encoding,$char)])) ?iconv($charset,$encoding,date($key,$time)) :$translate[$key][date($translate[$key][0],$time)]; if(!is_null($mode))$date=mb_convert_case($date,$mode,$encoding); return $date; }?> <?php //Examples echo date_lang('л \ч\и\с\л\о jS','2012-10-04',MB_CASE_UPPER,'uk-UA'); //ЧЕТВЕР ЧИСЛО 4ОЕ ?>

« previous php.notes (#192359) next »