将所有大写字母转换为init大写字母

时间:2010-01-25 18:41:27

标签: css text-formatting

我想知道是否有任何方法只使用CSS(并且这可以是特定于浏览器的CSS)将所有大写文本转换为仅最初大写的单词,例如:

I YELL WITH MY KEYBOARD

将转换为:

I Yell With My Keyboard

编辑:我意识到我在我的问题中不够清楚,文本输入大写,而不是最初的小写,文本转换:大写不适用于这样输入的数据。

1 个答案:

答案 0 :(得分:9)

使用CSS进行文本转换可以做一些事情,这就是所有这些。

.Capitalize
{ text-transform: capitalize }

.Uppercase
{ text-transform: uppercase }

.Lowercase
{ text-transform: lowercase }

.Nothing
{ text-transform: none }

不幸的是没有Camel Case文本转换。

您可以随时使用Javascript来适当地转换文本,或者如果您使用的是脚本语言(如PHP或ASP),则可以在其中进行更改。

以下是来自strtoupper PHP文档页面的示例:

function strtocamel($str, $capitalizeFirst = true, $allowed = 'A-Za-z0-9') {
    return preg_replace(
        array(
            '/([A-Z][a-z])/e', // all occurances of caps followed by lowers
            '/([a-zA-Z])([a-zA-Z]*)/e', // all occurances of words w/ first char captured separately
            '/[^'.$allowed.']+/e', // all non allowed chars (non alpha numerics, by default)
            '/^([a-zA-Z])/e' // first alpha char
        ),
        array(
            '" ".$1', // add spaces
            'strtoupper("$1").strtolower("$2")', // capitalize first, lower the rest
            '', // delete undesired chars
            'strto'.($capitalizeFirst ? 'upper' : 'lower').'("$1")' // force first char to upper or lower
        ),
        $str
    );
}