6

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

I YELL WITH MY KEYBOARD

将转换为:

I Yell With My Keyboard

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

4

1 回答 1

9

您可以使用 CSS 对文本进行一些转换,这就是全部。

.Capitalize
{ text-transform: capitalize }

.Uppercase
{ text-transform: uppercase }

.Lowercase
{ text-transform: lowercase }

.Nothing
{ text-transform: none }

不幸的是,没有骆驼案例文本转换。

您始终可以使用 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
    );
}
于 2010-01-25T18:44:54.637 回答