alexeydg/transliterate

为 laravel 5 的转写包

1.1.3 2018-07-26 08:38 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:42:06 UTC


README

一个小型转写俄语字母的包

能够

  • 将字符串转换为 URL 格式 ['type' => 'url']
  • 将字符串转换为文件名格式 ['type' => 'filename']
  • 将字符串转换为小写 ['transformate_text' => 'lowercase']
  • 将字符串转换为大写 ['transformate_text' => 'uppercase']
  • 将字符串转换为小写,每个单词的首字母大写 ['transformate_text' => 'ucfirst']

安装

composer require alexeydg/transliterate
//config/app.php

'providers' => [
  //...
  alexeydg\Transliterate\TransliterationServiceProvider::class,
],

'aliases' => [
  //...
  'Transliterate' => alexeydg\Transliterate\TransliterationFacade::class,
],

使用

use Transliterate;
...

$string = '\'"#^_^ Если б мишки были пчёлами, то они бы нипочем, никогда и не подумали так высо́ко строить дом.';

$string = Transliterate::make($string);
// Esli b mishki bili pchyolami to oni bi nipochem nikogda i ne podumali tak visoko stroit dom

$string = Transliterate::make($string, ['type' => 'url', 'lowercase' => true]);
// esli-b-mishki-bili-pchyolami-to-oni-bi-nipochem-nikogda-i-ne-podumali-tak-visoko-stroit-dom

$string = Transliterate::make($string, ['type' => 'filename', 'lowercase' => true]);
// esli_b_mishki_bili_pchyolami_to_oni_bi_nipochem_nikogda_i_ne_podumali_tak_visoko_stroit_dom

$string = Transliterate::make($string, ['type' => 'url', 'lowercase' => true, 'map' => 'gost2000']);
// esli-b-mishki-by'li-pchyolami-to-oni-by'-nipochem-nikogda-i-ne-podumali-tak-vy'soko-stroit`-dom

可用参数

[
  'type' => 'url',
  // 'url', 'filename' или 'text'. Первым заменяем пробелы на '-', вторым на '_'.
  // По дефолту 'text', который ничего не заменяет.
  
  'transformate_text' => 'lowercase', 
  // Преобразовать строку в нижний регистр.
  // по дефолту без преобразований, доступны преобразования 'lowercase', 'uppercase', 'ucfirst'
  // 'ucfirst' все слова в строке преобразовывает к нижнему регистру, первую букву переводит в верхний регистр
  'map' => 'gost2000', // Транслитерация по ГОСТ 7.79-2000.
]

附加信息

// Получить карту транслитерации, используемую по-умолчанию
Transliteration::getOldschoolMap();

// Карта по ГОСТ 2000
Transliteration::getGost2000Map();

//Транслитирация 
Transliteration::getCommonMap();