【问题标题】:Captilize every word in ECHO string with PHP使用 PHP 将 ECHO 字符串中的每个单词大写
【发布时间】:2013-11-25 17:19:51
【问题描述】:

如果这看起来真的很基本,我不是 PHP 开发人员。

好的,这将向您展示如何大写字符串中的每个单词 Capitalise every word of a string in PHP?

但是,您如何将其合并到正在回显的多个字符串中?

例如我有

<?php echo $prefillTitle, ' ', $prefillFirstname, ' ', $prefillLastname; ?>

如何使用 ucwords() 确保每个参数与它的第一个字母作为大写字母相呼应。会这么简单吗?

<?php echo ucwords($prefillTitle, ' ',  $prefillFirstname, ' ', $prefillLastname; ?>

【问题讨论】:

  • 把逗号改成句号。

标签: php echo capitalization


【解决方案1】:

每个单词的首字母大写

ucwords 接受一个参数并将每个单词的第一个字母大写:

echo ucwords($string);

ucwords reference

请注意,它不会将字母的 rest 的大小写设置为小写,因此如果您想确定它们是,可以按照 cmets 中的建议首先使用 strtolower

echo ucwords(strtolower($string));

strtolower reference

每个单词的每个字母都大写

如果你想大写字符串(事后看来我猜你这样做了!),使用strtoupper 怎么样:

echo strtoupper($string);

strtoupper reference

有多种连接字符串的方法。您可以使用. 运算符:

$string = $prefillTitle . ' ' . $prefillFirstname . ' ' . $prefillLastname;

或者,就像我在上面所做的那样,您可以插入变量:

$string = "$prefillTitle $prefillFirstname $prefillLastname";

【讨论】:

  • 有人愿意发表评论吗?
  • 在使用ucwords() 之前调用strtolower() 可能是个好主意,以避免不一致。
【解决方案2】:
<?php

$str="$prefillTitle,  $prefillFirstname, $prefillLastname";

echo ucwords($str) ?>

【讨论】:

  • 小心使用字符串插值 - 显然每个人都讨厌它!
  • 我知道,我只是指这样一个事实,即我非常相似的答案立即被几个人否决了。似乎有些人对这种方法有疑问,尽管他们似乎对此保持沉默。
  • @Mahendra 这是堆栈溢出的问题......用户对这个问题投了反对票而没有发表评论:“我这样做是因为......”。此功能在被接受之前需要进行一些验证。
【解决方案3】:

您尝试连接字符串的方式无效,请将, 更改为. 并重试:

<?php echo ucwords($prefillTitle . ' ' . $prefillFirstname . ' ' . $prefillLastname); ?>

这应该可行。

文档:http://php.net/ucwords

函数ucwords只接受1个参数作为字符串。

【讨论】:

    猜你喜欢
    • 2010-10-16
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    相关资源
    最近更新 更多