yii\helpers\Inflector实现了英语单词处理

2 篇文章 0 订阅

string camel2id( $name, $separator = '-', $strict = false ): 转换驼峰命名名称为小写形式的id。单词间通过指定的连接符(默认为-)连接。例如 PostTag 将转化为 post-tag

  • $name: 要转换的字符串
  • $separator: 连接符
  • $strict: 在两个连续的大写字母之间是否插入一个连接符,默认 false
  • 返回转换后的id

string camel2words( $name, $ucwords = true ): 转换驼峰命名名称为空格分隔的单词。例如 PostTag 转换为 Post Tag

  • $name: 要转换的字符串
  • $ucwords: 每个单词的首字母是否大写
  • 返回转换后的单词

string camelize( $word ): 转换单词为驼峰命名名称。非字母字符将会删除,例如 who's online 将转换为 WhoSOnlinesend_email 将转换为 SendEmail

  • $word: 需要转换的词组
  • 返回转换后的单词

string classify( $word ): 表名转换为类名。先单数化,然后驼峰化

string humanize( $word, $ucAll = false ): 转换为可读字符。先去除末尾的_id,然后将_替换为空格。


string id2camel( $id, $separator = '-' ): 将id转换为驼峰命名名称。例如 post-tag 将转换为 PostTag

  • $id: 待转换id
  • $separator: id中单词之间的连接符
  • 返回驼峰化名称

string ordinalize( $number ): 数字转化为英语形式字符串,例如 13 转换为 13th2 转换为 2nd


string pluralize( $word ): 单词转换为复数形式,例如 apple 转换为 appleschild 转换为 children


string sentence( array $words, $twoWordsConnector = ' and ', $lastWordConnector = null, $connector = ', ' ): 转换一系列单词为一个句子。例如:

$words = ['Spain', 'France'];
echo Inflector::sentence($words);
// output: Spain and France

$words = ['Spain', 'France', 'Italy'];
echo Inflector::sentence($words);
// output: Spain, France and Italy

$words = ['Spain', 'France', 'Italy'];
echo Inflector::sentence($words, ' & ');
// output: Spain, France & Italy
  • $words: 需要转换的单词
  • $twoWordsConnector: 当只有两个单词时的单词之间的连接符
  • $lastWordConnector: 连接最后两个单词的连接符。如果为 null,将使用 $twoWordsConnector
  • $connector: 除了通过$twoWordsConnector$lastWordConnector连接的其它单词质检的连接符
  • 返回生成的句子

string singularize( $word ): 返回单词的单数形式


string slug( $string, $replacement = '-', $lowercase = true ): 先调用transliterate翻译,然后删除掉非单词字符,最后用$replacement替换空格,等号,—–-。如果$lowerCasetrue将返回全小写字符串。


string tableize( $className ): 类名转换为表名。单词之间先转换为下划线连接,然后复数化。


string titleize( $words, $ucAll = false ): 转换下划线分隔的词组或驼峰化的词组为英语句子。


string transliterate( $string, $transliterator = null): 翻译。可以指定$transliterator


string underscore( $words ): 驼峰名称转换为下划线分隔名称。


string variablize( $word ): 与camelize一样,除了首字母小写之外。例如 send_email 转换为 sendEmail。和camelize,它也会删除非单词字符,例如 who's online 转换为 whoSOnline

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值