如何在 php 中大写所有其他字符?
我想在 php 中使用 CaPiTaLiZe $string,不要问为什么:D
我做了一些研究并在这里找到了很好的答案,他们真的帮助了我。 但是,就我而言,我想开始将每个单词中的每个奇怪字符(1,2,3...)大写。
例如,通过我的自定义函数,我得到这个结果“TeSt eXaMpLe”,并且想要得到这个“TeSt ExAmPlE”。 看到第二个例子中单词“example”以大写“E”开头了吗?
那么,有人可以帮助我吗? :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
好吧,我会把它变成一个数组,然后再把它放回去。
演示:http://codepad.org/j8uXM97o
Well I would just make it an array and then put it back together again.
Demo: http://codepad.org/j8uXM97o
我会使用正则表达式来执行此操作,因为它简洁且易于执行:
输出:“我做了一些研究并在这里找到了好的答案,他们真的帮助了我。”
示例
I would use regex to do this, since it is concise and easy to do:
Outputs: "I MaDe SoMe ReSeArCh AnD FoUnD GoOd AnSwErS HeRe, ThEy ReAlLy HeLpEd Me."
Example
这是一款应该可以使用的内衬。
http://codepad.org/9LC3SzjC
Here's a one liner that should work.
http://codepad.org/9LC3SzjC
尝试:
编辑:修复了输出中缺少特殊字符的问题。
Try:
Edited: Fixed the lack of special characters in the output.
此任务可以在不使用捕获组的情况下执行 - 只需使用 ucfirst() 即可。
这不是为处理多字节字符而构建的。
抓取一个单词字符,然后(可选)抓取下一个字符。从全字符串匹配中,仅更改第一个字符的大小写。
代码:(演示)(或演示)
输出:
对于其他研究人员,如果您(更简单地)只想将所有其他字符转换为大写,您可以使用
/..?/
在您的模式中,但在这种情况下使用正则表达式会有点过分。您可以更有效地使用for()
循环和双增量。代码(演示)
This task can be performed without using capture groups -- just use
ucfirst()
.This is not built to process multibyte characters.
Grab a word character then, optionally, the next character. From the fullstring match, only change the case of the first character.
Code: (Demo) (or Demo)
Output:
For other researchers, if you (more simply) just want to convert every other character to uppercase, you could use
/..?/
in your pattern, but using regex for this case would be overkill. You could more efficiently use afor()
loop and double-incrementation.Code (Demo)