首页 > 解决方案 > 如何用键为search_string的数组的值替换单词(search_string)

问题描述

我找不到替换字符串中单词的正确方法,其中 word_to_be_replaced 是键,而 word_to_replace_with 是 csv 中的相应值。

例子:

String: "The water is blue."
csv:
sky, ocean
colour, mood
water, painting

Expected outcome:
"The painting is blue."

我是 php 的初学者。我问了一个有点类似的问题 - 但我不能让我收到的答案工作......

到目前为止,我有:

$file = fopen("mods/test.csv","r");
while (($csv = fgetcsv($file)) !== false) {
    $replace[$csv[0]] = $csv[1];
}
$blub = strtr($mpref, $replace);

我错过了什么?

标签: phparrayscsvreplace

解决方案


你应该使用str_replace. 检查文档

您需要构建 2 个数组,$search它们$replace将分别包含要搜索和替换的值。

$file = fopen("mods/test.csv","r");
$search = array();
$replace = array();
while (($csv = fgetcsv($file)) !== false) {
    //$replace[$csv[0]] = $csv[1];
    $search = $csv[0];
    $replace = $csv[1];

}

$mpref = "The water is blue";


echo str_replace($search, $replace, $mpref);
//prints The painting is blue

推荐阅读