ai didi

php - preg_replace 在引号后大写字母

转载 作者:IT王子 更新时间:2023-10-29 00:09:10 24 4
gpt4 key购买 nike

我有这样的名字:

$str = 'JAMES "JIMMY" SMITH'

我运行 strtolower,然后运行 ​​ucwords,它会返回:

$proper_str = 'James "jimmy" Smith'

我想将第一个字母是双引号的单词的第二个字母大写。这是正则表达式。看来 strtoupper 不起作用 - 正则表达式只是返回未更改的原始表达式。

$proper_str = preg_replace('/"([a-z])/',strtoupper('$1'),$proper_str);

有什么线索吗?谢谢!!

最佳答案

最好的方法可能是使用 preg_replace_callback() :

$str = 'JAMES "JIMMY" SMITH';
echo preg_replace_callback('!\b[a-z]!', 'upper', strtolower($str));

function upper($matches) {
return strtoupper($matches[0]);
}

您可以在 preg_replace() 上使用 e (eval) 标志,但我通常不建议这样做。尤其是在处理外部输入时,它可能非常危险。

关于php - preg_replace 在引号后大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2638288/

24 4 0
文章推荐: php - $this->uri->segment(3) 在 codeigniter 分页中的用途是什么
文章推荐: android - fragment Activity 中的 commitAllowingStateLoss()
文章推荐: android - 如何在 Android 上以编程方式关闭 3G/数据?
文章推荐: php - wkhtmltopdf:哪些纸张尺寸有效?
IT王子
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com