【问题标题】:How to capitalize a word that has all letters in as capital letters in css OR php如何在css或php中将所有字母都大写的单词大写
【发布时间】:2021-11-12 21:40:03
【问题描述】:

我有以下代码,并使用值为大写或 php ucwords() 的 css text-transform 属性,我将标题大写,但是当标题以所有字母为大写时,它不起作用。无论提供的标题如何,如何实现输出大写?

  <h4 style="text-transform: capitalize;">
      <a href="{{ route('posts.show', $post )}}">{{ $post->title }}</a>
  </h4>

【问题讨论】:

  • 使用 CSS 还是 PHP?标题是否只包含一个单词?还是多个?你能发布任何例子吗?
  • 这能回答你的问题吗? Lower case all then capitalize - pure CSS
  • @brombeer 任何一个,或者如果可能的话全部!
  • 在php中你可以使用:ucfirst(strtolower("STRING"))
  • @FlorianMotteau 是的,它确实回答了我的问题,指出使用 css 是不可能的,但我问如何在 css 或 php 中做到这一点,显然在 php 中是可能且容易的。困惑,我还应该接受它作为重复的问题吗?请多多指教!

标签: php css laravel


【解决方案1】:

Twig 具有大写过滤器

https://twig.symfony.com/doc/3.x/filters/capitalize.html

{{ '我的第一辆车'|大写 }}

{# 输出“我的第一辆车”#}

执行此操作的最佳地点,即视图。

【讨论】:

  • Laravel 不使用 Twig 而是使用 Blade
  • 不幸的是,我没有使用 twig 模板引擎!我正在使用使用刀片的 Laravel。
  • 可能的刀片解决方案stackoverflow.com/questions/32489324/…
  • @user1207013 它可以工作,但是当一个单词中的所有字母都是大写时,它就不起作用了。
  • 如果单词已经大写(整个单词),则此解决方案将不起作用
【解决方案2】:

php 解决方案是将大小写转换为小写,然后使用ucfirst

$text = 'THIS IS A TITLE';
$normalText = ucfirst(strtolower($text));
echo $normalText;

【讨论】:

    【解决方案3】:

    只要只有一行,您就可以通过使用 first-line 伪选择器组合 lowercasecapitalize 来使用 CSS:

    .title-case {
      text-transform: lowercase;
      display: inline-block;
    }
    
    .title-case::first-line {
      text-transform: capitalize;
    }
    <h4>
      <a class="title-case" href="#">SHOUTING</a>
    </h4>

    【讨论】:

    • 谢谢,但很遗憾,我正在显示帖子的标题,所以这无济于事。
    猜你喜欢
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 2022-01-25
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    相关资源
    最近更新 更多