PHP:在字符串中搜索数组中的所有子字符串,然后回显任何匹配项


PHP: Searching a string for all sub strings in an array AND THEN echo any matches?

$longString = "I walk in the park.";
$stringArray = array("walk", "park", "beach");

基本上,我想$longString搜索$stringArray中的所有子字符串。所以在这种情况下,我想找到步行和停车,然后回响那些弦。

这可行吗?谢谢大家!

遍历数组并检查长字符串中是否存在该字符串:

$longString = "I walk in the park and I like to jumprope.";
$stringArray = array("walk" => "walk", "park" => "park", "jumprope" => "jump rope");
foreach( $stringArray as $search => $print) {
    if( !(strpos( $longString, $search) === false)) {
        echo $print;
    }
}

演示

$longString = "I walk in the park.";
$stringArray = array("walk", "park", "beach");
foreach ($stringArray as $item) {
    if (stristr($longString, $item))
        echo $item . "<br>";
}
$longString = "I walk in the park.";
$stringArray = array{"walk", "park", "beach",);
foreach( $stringArray as $search) {
    if(strpos( $longString, $search) !== FALSE) {
        echo $search;
    }
}

当然,这是可能的:

$longString  = "I walk in the park.";
$stringArray = array("walk", "park", "beach");
foreach ($stringArray as $key => $val) {
    if (strpos($longString, $val) === false) {
        unset($stringArray[$key]);
    }
}
var_dump($stringArray);

$stringArray将仅包含出现在$longString中的字符串。