Php 如何用关键字为搜索字符串的数组值替换单词(搜索字符串)
我找不到正确的方法来替换字符串中的单词,其中单词\u to\u be\u是一个键,单词\u to\u replace\u是csv中相应的值 例如: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
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想怎么做,不幸的是,这意味着它也忽略了一个基本要求,即替换的单词是一个键,替换的单词是相应的值