Php 如何用关键字为搜索字符串的数组值替换单词(搜索字符串)

Php 如何用关键字为搜索字符串的数组值替换单词(搜索字符串),php,arrays,csv,replace,Php,Arrays,Csv,Replace,我找不到正确的方法来替换字符串中的单词,其中单词\u to\u be\u是一个键,单词\u to\u replace\u是csv中相应的值 例如: String: "The water is blue." csv: sky, ocean colour, mood water, painting Expected outcome: "The painting is blue." 我是php的初学者。我问了一个有点类似的问题,但我无法回答我收到的工作 到目前为止,我得到了: $file = fo

我找不到正确的方法来替换字符串中的单词,其中单词\u to\u be\u是一个键,单词\u to\u replace\u是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);

我缺少什么?

您应该使用
str\u replace
。检查

您需要构建两个数组,
$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
试试这个:

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

}

$mpref = "The water is blue";

echo str_replace($search, $replace, $mpref);
在上面,它将创建一个要替换的
单词数组,即
$search
和一个要替换为
世界数组,即
$replace
。和StReRead考虑数组并在代码中替换一个单词“$搜索/代码>”,在“代码< > $替换<代码>中,在两个数组中都有相同的索引。
有关更多信息,请查看此打印($mpref);打印(替换)
您应该分解$csv以获得阵列该代码对meI正常工作。meI将检查您的csv文件。我所要做的就是在
$csv[0]
$csv[1]
周围添加一个
trim()
,我就是这样做的,但问题并不是说OP想怎么做,不幸的是,这意味着它也忽略了一个基本要求,即替换的单词是一个键,替换的单词是相应的值