gpt4 book ai didi

php - 使用 preg_replace 将单词的每个首字母大写

转载 作者:行者123 更新时间:2023-12-04 20:23:22 24 4
gpt4 key购买 nike

因此,我将一些句子插入带有一些自动更正过程的数据库中。下面的句子:

$sentence = "Is this dog your's because it can't be mine";

下面的代码将每个单词大写,但要确保它不会将缩写词大写(例如 n't):

str_replace(
"'S", "'s", preg_replace(
"/(\w+)n'T?/", "$1n't", (
preg_replace(
"/\b[a-z]/e",
'strtoupper("$0")',
ucwords($sentence)
)
)
)
);

回显时,结果如下:

Is This Dog Your's Because It Can't Be Mine

这是我想要它做的,但是,它输入到我的 MySQL 数据库中的是:

Is This Dog Your's Because It Can'T Be Mine

我不知道为什么会这样......我假设我在某处搞砸了。

最佳答案

你当然应该使用 ucwords() ,但这是使用正则表达式的方式:

echo preg_replace_callback('/(?<=\s|^)[a-z]/', function($match) {
return strtoupper($match[0]);
}, $sentence);

通过使用 lookbehind assertion 确保每个小写字符前面都有一个空格(或句子的开头) , 在更改为大写之前。

关于php - 使用 preg_replace 将单词的每个首字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18202542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com