我有一个像array("red","blue","azure"...)
这样的数组,并且我有一个可能包含某些单词的字符串。任务是获取给定字符串中所有匹配颜色的数组。查找匹配多个数组键的字符串中的所有单词
字符串示例:“红狐遇到了蓝鲸”。它应该输出[“红色”,“蓝色”]
给我一个开始点继续。
感谢, 马尔蒂·
我有一个像array("red","blue","azure"...)
这样的数组,并且我有一个可能包含某些单词的字符串。任务是获取给定字符串中所有匹配颜色的数组。查找匹配多个数组键的字符串中的所有单词
字符串示例:“红狐遇到了蓝鲸”。它应该输出[“红色”,“蓝色”]
给我一个开始点继续。
感谢, 马尔蒂·
str_word_count()与1
或2
,然后一个一个array_intersect()format
参数....但小心区分大小写,这一切都强制小写第一
$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);
如果你把所有你正在寻找到一个数组,使用值“|”作为分隔符,您可以在正则表达式中使用它来匹配所有值。
$valsArray = implode('|',$vals);
preg_match_all('/($valsArray)/',$string,$matches);
var_dump($matches);
试试这个
<?php
$array1=array("red","blue","azure") ;
$str="red fox met a blue whale";
$str=explode(" ",$str);
echo $array1[0];
for($i=0;$i<sizeof($array1);$i++){
\t
\t if (in_array($array1[$i],$str)){
$words[]=$array1[$i];
}
\t }
print_r($words)
?>
编辑:
我想通了,我需要的是更为复杂的。是否有可能做这样的:
1)让我们找到所有这一切都存在数组2中的字符串的颜色)使用另一个阵列
原始数组[“红色”翻译的颜色到其他语言,“蓝色”,“绿色”]翻译阵列[“亵渎”,“sinine”,“roheline”]
因此,从“红狐遇到蓝鲸”我需要[“奸” ]
谢谢,Martti
伙计。
这是翻译使用匹配的翻译阵列
foreach($filteredArray as $key => $value) {
$myTranslatedColors[] = $translatedArray[$key];
}
谢谢所有过滤项目的代码。
做了这个工作,但以前也是如此。为什么这个人更好? –