PHP字符串将firstname替换为firstname中的第一个字母

PHP字符串将firstname替换为firstname中的第一个字母,php,regex,Php,Regex,我的PHP代码中有一个字符串,如下所示 Bokad av Anna Göransson 14:45 - 15:45 $foo=str_replace('Anna', 'A',$foo); 现在我想用“A”来代替“安娜”。如何使用regexp和PHP实现这一点?您可以这样做 Bokad av Anna Göransson 14:45 - 15:45 $foo=str_replace('Anna', 'A',$foo); 如果字符串是动态的并且可能发生更改,则可以使用不同的内容 $strin

我的PHP代码中有一个字符串,如下所示

Bokad av Anna Göransson 14:45 - 15:45
$foo=str_replace('Anna', 'A',$foo);

现在我想用“A”来代替“安娜”。如何使用regexp和PHP实现这一点?

您可以这样做

Bokad av Anna Göransson 14:45 - 15:45
$foo=str_replace('Anna', 'A',$foo);

如果字符串是动态的并且可能发生更改,则可以使用不同的内容

$string = "okad av Anna Göransson 14:45 - 15:45";
$names = explode(" ",$string);
$names[2] = strtoupper($names[2][0]).".";
$string = implode(" ",$names);

为什么你认为这个简单的str_替换需要正则表达式?你怎么知道名字是什么?这只是一个示例字符串吗?如果是这样,您需要详细说明字符串内容的“规则”,以便我们能够帮助您。
strtoupper(substr($names[2],0,1))
也可以写成
strtoupper($names[2][0])
澄清Braveyard所说的:此解决方案依赖于问题中的名称(
Anna
)作为第三个单词(数组索引2)。在我有限的经验中,总有这样的情况。@FrankFarmer:你说得对,谢谢你的提示。我会更新我的答案。