为了账号安全,请及时绑定邮箱和手机立即绑定

PHP用数组中的值替换字符串

PHP用数组中的值替换字符串

PHP
LEATH 2021-11-26 15:56:58
我正在尝试用数组中的单词替换字符串中的单词。问题是结果重复多次。我知道 有一个问题str_replace,但我找不到任何解决此问题的方法。我试过str_replace和preg_replace。我的代码:与str_replace:$text = 'Amir and Mahdi are friends.';$text2 = str_replace(array("Amir","Mahdi"), '{Amir|Mahdi}', $text);结果: {Amir|{Amir|Mahdi}} and {Amir|Mahdi} are friends.与preg_replace:$text = 'Amir and Mahdi are friends.';$text2 = preg_replace(array("/Amir/","/Mahdi/"), '{Amir|Mahdi}', $text);结果: {Amir|{Amir|Mahdi}} and {Amir|Mahdi} are friends.我想要这个结果: {Amir|Mahdi} and {Amir|Mahdi} are friends.
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

使用替换模式作为数组,它首先转换{Amir|Mahdi} and Mahdi are friends.,再次对于数组的第二个索引,Mahdi它同时转换两者Mahdi。这就是为什么我建议您在模式而不是数组中使用|( OR ) 条件。


$text = 'Amir and Mahdi are friends.';

$text2 = preg_replace("/Amir|Mahdi/", '{Amir|Mahdi}', $text);

echo $text2;

工作演示。


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信