andre_487 / php_rutils
此包已被废弃且不再维护。未建议替代包。
RUtils 是一个针对俄语的字符串工具(转写,数字词,俄语日期,排版)
1.2.0
2015-10-24 17:20 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: ~4.8
- squizlabs/php_codesniffer: ~2.3
This package is not auto-updated.
Last update: 2021-04-30 21:53:12 UTC
README
不再支持
摘要
RUtils 是针对 PHP 的俄语特定字符串工具(转写,数字词,俄语日期,排版),这是 Python Pytils 到 PHP 的移植。
请参阅 doc 子目录 中的其他文档和示例。
库已发布在 Composer 上:https://packagist.org.cn/packages/andre_487/php_rutils
RUtils — 俄语文本处理工具(转写,数字的单词表示,俄语日期,基本排版)的 PHP 库。RUtils — Pytils 的 PHP 版本。
请参阅 doc 目录 中的文档和示例。
库通过 Composer 可用:https://packagist.org.cn/packages/andre_487/php_rutils
我愿意接受有关项目的建议、错误报告和 pull 请求。
项目遵循 PSR-2 编码风格。CI 阶段使用 PHP_CodeSniffer 检查风格。
我要向所有为改进项目做出贡献的人表示衷心的感谢。
基本用法
PHP RUtils 模块
- 数字 - 数字的多形式和单词表示
- Dt - 无地区和日期处理的俄语日期
- Translit - 简单转写
- Typo - 基本俄语排版
数字
根据数字选择单词形式
$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: одна тысяча двести тридцать четыре гвоздя
打印数字的单词表示
$numeral = RUtils::numeral(); echo $numeral->getInWordsInt(100); //Result: сто echo $numeral->getInWordsFloat(100.025); //Result: сто целых двадцать пять тысячных echo $numeral->getInWords(100.0); //Result: сто
打印货币(RUB)
echo RUtils::numeral()->getRubles(100.25); //Result: сто рублей двадцать пять копеек
Dt
今天的日期: \php_rutils\struct\TimeParams
- 参数结构,可以以数组形式传递
$params = new TimeParams(); $params->date = null; //default value, 'now' $params->format = 'сегодня d F Y года'; $params->monthInflected = true; echo RUtils::dt()->ruStrFTime($params); //Result: сегодня 22 октября 2013 года
历史日期
$params = array( 'date' => '09-05-1945', 'format' => 'l d F Y была одержана победа над немецко-фашистскими захватчиками', 'monthInflected' => true, 'preposition' => true, ); echo RUtils::dt()->ruStrFTime($params); //Result: в среду 9 мая 1945 была одержана победа над немецко-фашистскими захватчиками
固定日期的时间间隔
$toTime = new \DateTime('05-06-1945'); //Unix timestamp and string also available echo RUtils::dt()->distanceOfTimeInWords($toTime), PHP_EOL; //Result: 68 лет назад $toTime = strtotime('05-06-1945'); $fromTime = null; //now $accuracy = RUtils::ACCURACY_MINUTE; //years, months, days, hours, minutes echo RUtils::dt()->distanceOfTimeInWords($toTime, $fromTime, $accuracy), PHP_EOL; //Result: 68 лет, 4 месяца, 21 день, 19 часов, 12 минут назад
固定日期与固定日期之间的时间间隔
$fromTime = '1988-01-01 11:40'; $toTime = '2088-01-01 12:35'; $accuracy = RUtils::ACCURACY_MINUTE; //years, months, days, hours, minutes echo RUtils::dt()->distanceOfTimeInWords($toTime, $fromTime, $accuracy), PHP_EOL; //Result: через 100 лет, 55 минут
年龄
$birthDate = strtotime('today - 25 years'); echo RUtils::dt()->getAge($birthDate); //Result: 25
Translit
//Translify echo RUtils::translit()->translify('Муха - это маленькая птичка'); //Result: Muxa - e`to malen`kaya ptichka //Detranslify echo RUtils::translit()->detranslify("Muxa - e`to malen`kaya ptichka"); //Result: Муха - это маленькая птичка //Prepare to use in URLs or file paths echo RUtils::translit()->slugify('Муха — это маленькая птичка'); //Result: muha-eto-malenkaya-ptichka
Typo
$text = <<<TEXT ...Когда В. И. Пупкин увидел в газете ( это была "Сермяжная правда" № 45) рубрику Weather Forecast (r), он не поверил своим глазам - температуру обещали +-451F. TEXT; //Standard rules echo RUtils::typo()->typography($text); /** * Result: * ...Когда В. И. Пупкин увидел в газете (это была «Сермяжная правда» №45) рубрику Weather Forecast®, * он не поверил своим глазам — температуру обещали ±451°F. */ //Extended rules echo RUtils::typo()->typography($text, TypoRules::$EXTENDED_RULES); /** * Result: * …Когда В. И. Пупкин увидел в газете (это была «Сермяжная правда» №45) рубрику Weather Forecast®, * он не поверил своим глазам — температуру обещали ±451 °F. */ //Custom rules echo RUtils::typo()->typography($text, array(TypoRules::DASHES, TypoRules::CLEAN_SPACES)); /** * Result: * ...Когда В. И. Пупкин увидел в газете (это была "Сермяжная правда" № 45) рубрику Weather Forecast (r), * он не поверил своим глазам — температуру обещали +-451F. */