【问题标题】:PHP Capitalize each word and after bracket with special charactersPHP 将每个单词和括号后的特殊字符大写
【发布时间】:2015-12-03 19:06:38
【问题描述】:

我有一个将大写转换为小写的脚本,但每个单词的首字母大写。另外我想在括号后大写forst字母。该代码有效,但不适用于特殊的挪威字符。看看我的代码;

<?php
$text= "BIG LETTERS WITH ÆØÅØÆØÅØÆ (MORE ÆØÆÅØ HERE)";
echo mb_convert_case($text, MB_CASE_TITLE, "UTF-8");
?>

这个输出;

Big Letters With (More Here)

如您所见,挪威语特殊字符已被删除。如何保留这些字符并确保单词的所有第一个字母都大写,其余的都是小写?括号后的第一个字母也要大写对我来说很重要。

【问题讨论】:

  • “挪威特殊字符”你设置正确的字符集了吗?
  • 如果我将字符集设置为 ISO-8859-1,它会将特殊字符显示为带有问号的黑色菱形。我从 XML 文件中获取字符串,因此我无法更改 XML 文件中的输入。
  • 你只需要转换字符串??
  • @zorensen 你可以使用ucwords
  • @zorensen 不要只使用ucwords($text)

标签: php string uppercase lowercase capitalize


【解决方案1】:

你可以使用ucwords()函数来实现。

$text= "BIG LETTERS WITH ÆØÅØÆØÅØÆ (MORE ÆØÆÅØ HERE)";
echo str_replace('( ', '(', ucwords(str_replace('(', '( ', strtolower($text))));

【讨论】:

  • 太棒了!这以某种方式起作用,但是,括号后的第一个字母没有大写。您的代码输出;带有 Æøåøæøåøæ 的大写字母(更多 Æøæåø 此处)第一个括号后的“m”没有大写。
  • 效果很好!连字符呢?如果字符串是这个; $text= "带有 ÆØÅØ-ÆØÅØÆ 的大写字母(更多 ÆØÆÅØ 在这里)";连字符后的第一个单词仍为小写。
猜你喜欢
  • 1970-01-01
  • 2019-08-25
  • 2010-10-16
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 2021-01-02
  • 2016-03-22
  • 1970-01-01
相关资源
最近更新 更多