单数复数php单元格背景颜色,PHP-php 如何实现 英语单词 单复数 转换

提供一个单数转复数的函数给你:

/**

* 单词单数转成复数

* @param $string 单词单数

*/

function pluralize( $string ) {

$plural = array(

array( '/(quiz)$/i', "$1zes" ),

array( '/^(ox)$/i', "$1en" ),

array( '/([m|l])ouse$/i', "$1ice" ),

array( '/(matr|vert|ind)ix|ex$/i',"$1ices" ),

array( '/(x|ch|ss|sh)$/i', "$1es" ),

array( '/([^aeiouy]|qu)y$/i', "$1ies" ),

array( '/([^aeiouy]|qu)ies$/i', "$1y" ),

array( '/(hive)$/i', "$1s" ),

array( '/(?:([^f])fe|([lr])f)$/i',"$1$2ves" ),

array( '/sis$/i', "ses" ),

array( '/([ti])um$/i', "$1a" ),

array( '/(buffal|tomat)o$/i', "$1oes" ),

array( '/(bu)s$/i', "$1ses" ),

array( '/(alias|status)$/i', "$1es" ),

array( '/(octop|vir)us$/i', "$1i" ),

array( '/(ax|test)is$/i', "$1es" ),

array( '/s$/i', "s" ),

array( '/$/', "s" )

);

$singular = array(

array("/s$/", ""),

array("/(n)ews$/", "$1ews"),

array("/([ti])a$/", "$1um"),

array("/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/", "$1$2sis"),

array("/(^analy)ses$/", "$1sis"),

array("/([^f])ves$/", "$1fe"),

array("/(hive)s$/", "$1"),

array("/(tive)s$/", "$1"),

array("/([lr])ves$/", "$1f"),

array("/([^aeiouy]|qu)ies$/","$1y"),

array("/(s)eries$/", "$1eries"),

array("/(m)ovies$/", "$1ovie"),

array("/(x|ch|ss|sh)es$/", "$1"),

array("/([m|l])ice$/", "$1ouse"),

array("/(bus)es$/", "$1"),

array("/(o)es$/", "$1"),

array("/(shoe)s$/", "$1"),

array("/(cris|ax|test)es$/","$1is"),

array("/([octop|vir])i$/", "$1us"),

array("/(alias|status)es$/","$1"),

array("/^(ox)en/", "$1"),

array("/(vert|ind)ices$/", "$1ex"),

array("/(matr)ices$/", "$1ix"),

array("/(quiz)zes$/", "$1")

);

$irregular = array(

array( 'move', 'moves' ),

array( 'sex', 'sexes' ),

array( 'child', 'children' ),

array( 'man', 'men' ),

array( 'person', 'people' )

);

$uncountable = array(

'sheep',

'fish',

'series',

'species',

'money',

'rice',

'information',

'equipment'

);

if ( in_array( strtolower( $string ), $uncountable ) ) return $string;

foreach ( $irregular as $noun ){

if ( strtolower( $string ) == $noun[0] )

return $noun[1];

}

foreach ( $plural as $pattern ){

if ( preg_match( $pattern[0], $string ) )

return preg_replace( $pattern[0], $pattern[1], $string );

}

$string;

}

echo pluralize("book");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值