PHP RUtils — небольшая библиотека для обработки русского текста
Код: Выделить всё
Выбор формы множественного числа
$variants = array(
'гвоздь', //1
'гвоздя', //2
'гвоздей' //5
);
echo $amount, ' ', RUtils::numeral()->choosePlural(15, $variants);
//Result: 15 гвоздей
echo RUtils::numeral()->getPlural(2, $variants);
//Result: 2 гвоздя
Код: Выделить всё
Выбор формы и вывод прописью
echo RUtils::numeral()->sumString(1234, RUtils::MALE, $variants);
//Result: одна тысяча двести тридцать четыре гвоздя
Код: Выделить всё
$params = new TimeParams();
$params->date = null; //это значение по умолчанию
$params->format = 'сегодня d F Y года';
$params->monthInflected = true;
echo RUtils::dt()->ruStrFTime($params);
//Result: сегодня 22 октября 2013 года
Код: Выделить всё
Временной период между фиксированными датами
$fromTime = '1988-01-01 11:40';
$toTime = '2088-01-01 12:35';
$accuracy = 3; //дни, часы, минуты
echo RUtils::dt()->distanceOfTimeInWords($toTime, $fromTime, $accuracy);
//Result: через 36 525 дней, 55 минут
Код: Выделить всё
//Транслитерация
echo RUtils::translit()->translify('Муха — это маленькая птичка');
//Result: Muha - eto malen'kaya ptichka
//Обратное преобразование
echo RUtils::translit()->detranslify("SCHuka");
//Result: Щука
//Подготовка для использования в URL'ях или путях
echo RUtils::translit()->slugify('Муха — это маленькая птичка');
//Result: muha---eto-malenkaya-ptichka
Попробовал - приятная.
Репозиторий вот тут:
https://github.com/Andre-487/php_rutils
Подключается:
1. кидаем в protected/vendors/php_rutils (или куда пожелаете ;)
2. Подлючаем в любом месте, где используем:
Код: Выделить всё
<?php
Yii::setPathOfAlias('php_rutils', Yii::getPathOfAlias('application') . '\vendor\php_rutils');
use php_rutils\RUtils;
class SiteController extends Controller
{
public function actionIndex()
{
$model = Post::model()->findByPk(1);
$model->date = RUtils::dt()->distanceOfTimeInWords($model->date);
echo $model->date; // вернёт например: 24 976 дней, 11 часов, 21 минуту назад
}
}