6

CSSのみを使用して(これはブラウザー固有のCSSにすることができます)、すべての大文字のテキストを最初に大文字にするだけの単語に変換する方法があるかどうか疑問に思いました。たとえば、次のようになります。

I YELL WITH MY KEYBOARD

次のように変換されます:

I Yell With My Keyboard

編集:私は私の質問で十分に明確ではなかったことに気づきました、テキストは最初は小文字ではなく大文字で入力されました、text-transform:大文字はこのように入力されたデータでは機能しません。

4

1 に答える 1

9

テキスト変換のためにCSSでできることがいくつかありますが、それらすべてがここにあります。

.Capitalize
{ text-transform: capitalize }

.Uppercase
{ text-transform: uppercase }

.Lowercase
{ text-transform: lowercase }

.Nothing
{ text-transform: none }

残念ながら、キャメルケースのテキスト変換はありません。

いつでもJavascriptを使用してテキストを適切に変換できます。または、PHPやASPなどのスクリプト言語を使用している場合は、そこで変更します。

strtoupperPHPのドキュメントページから抜粋した例を次に示します。

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 に答える