最好使用str_replace(...)进行多次替换

时间:2018-03-04 16:10:25

标签: php arrays loops

我试图找出在PHP中对String执行多次替换的最佳方法,到目前为止,str_replace()似乎非常有用。

我用标志替换某些单词,以简化数据集中的俗语。

例如,[POSITIVE_ADJ]表示一个正面的形容词,并取代“伟大”这个词,我会这样做:

str_replace("great","[POSITIVE_ADJ]","Thank you for helping me, you're great at PHP!");

但是,如果我有一组多个正面形容词,请加载到数据结构中,如数组:

$positive_adj = array("good", "great", "wonderful", "excellent");

有没有更好的方法用标志替换主字符串中的任何$ positive_adj字符串,而不是循环它?有多个标志数组和更大的形容词组等。我想多个循环,只要它们各自的数组变得非常低效

非常感谢任何更有效的解决方案!

谢谢你, 约旦

1 个答案:

答案 0 :(得分:4)

很好地解释了in the manual

但这是一个有效的例子

$positive_adj = ["good", "great", "wonderful", "excellent"];

str_replace($positive_adj,
            "[POSITIVE_ADJ]",
            "Its really good of you to help me, you are a great and wonderful person!"
        );