Php 查找字符串中与多个数组键匹配的所有单词
我有一个类似于Php 查找字符串中与多个数组键匹配的所有单词,php,arrays,Php,Arrays,我有一个类似于数组(“红色”、“蓝色”、“azure”…)的数组,还有一个可能包含一些单词的字符串。任务是从给定字符串中获取所有匹配颜色的数组 字符串示例:“红狐遇到蓝鲸”。它应该输出[“红色”、“蓝色”] 给我一个出发点 谢谢, Martti如果将要查找的所有值放入一个数组中,并使用“|”作为分隔符,则可以在正则表达式中使用它来匹配所有值 $valsArray = implode('|',$vals); preg_match_all('/($valsArray)/',$string,$mat
数组(“红色”、“蓝色”、“azure”…)
的数组,还有一个可能包含一些单词的字符串。任务是从给定字符串中获取所有匹配颜色的数组
字符串示例:“红狐遇到蓝鲸”。它应该输出[“红色”、“蓝色”]
给我一个出发点
谢谢,
Martti如果将要查找的所有值放入一个数组中,并使用“|”作为分隔符,则可以在正则表达式中使用它来匹配所有值
$valsArray = implode('|',$vals);
preg_match_all('/($valsArray)/',$string,$matches);
var_dump($matches);
如果将要查找的所有值放入一个数组中,并使用“|”作为分隔符,则可以在正则表达式中使用它来匹配所有值
$valsArray = implode('|',$vals);
preg_match_all('/($valsArray)/',$string,$matches);
var_dump($matches);
使用format
参数1
或2
,然后。。。。但要注意区分大小写,请先将其全部改为小写
$matchWords = array("red","blue","azure");
$sentence = "Red fox met a blue whale";
$result = array_intersect(
$matchWords,
str_word_count(strtolower($sentence), 1)
);
var_dump($result);
使用格式参数1
或2
,然后。。。。但要注意区分大小写,请先将其全部改为小写
$matchWords = array("red","blue","azure");
$sentence = "Red fox met a blue whale";
$result = array_intersect(
$matchWords,
str_word_count(strtolower($sentence), 1)
);
var_dump($result);
试试这个
试试这个
编辑:
我想我需要它更复杂一些。可以这样做吗:
1) 让我们从字符串中找到数组中存在的所有颜色2)使用另一个数组将颜色转换为其他语言
原始数组[“红”、“蓝”、“绿”]翻译数组[“普那”、“辛那”、“罗赫林”]
所以从“红狐遇见蓝鲸”我需要得到[“punane”,“sinine”]
谢谢,Martti编辑:
我想我需要它更复杂一些。可以这样做吗:
1) 让我们从字符串中找到数组中存在的所有颜色2)使用另一个数组将颜色转换为其他语言
原始数组[“红”、“蓝”、“绿”]翻译数组[“普那”、“辛那”、“罗赫林”]
所以从“红狐遇见蓝鲸”我需要得到[“punane”,“sinine”]
谢谢,玛蒂,伙计们
这是使用匹配的转换数组转换过滤项的代码
foreach($filteredArray as $key => $value) {
$myTranslatedColors[] = $translatedArray[$key];
}
谢谢大家。各位
这是使用匹配的转换数组转换过滤项的代码
foreach($filteredArray as $key => $value) {
$myTranslatedColors[] = $translatedArray[$key];
}
谢谢大家。这很好,但普雷维乌斯也一样。为什么这一个更好?这一点很好,但普雷维乌斯也一样。为什么这个更好?