0

搜索后,脚本丰富文件夹并读取每个单独的文件
,如果找到 h1 它将把它的每个单词放在数组$h1words
中问题是,我想比较两个数组$words$h1words
如果有一个相似的字符,那么它将显示 h1

if (isset($_GET["sub"]) && $_GET["sub"]=="Search"){

    // Open a known directory, and proceed to read its contents
    $dir="c1/cat1/";
    $words=explode(" ",$_GET["search"]);
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if ($file=="" or $file=="." or $file==".." or $file=="index.php" or $file=="index.html") {
                    continue;
                }

                $filet=$dir.$file;
                if (is_readable($filet)){
                    $filee=fopen($filet,"r");
                    while(!feof($filee)){
                        $str=strip_tags(fgets($filee),"<h1>");
                        $findme="<h1>";
                        $pos = strpos($str, $findme);
                        if ($pos!==false){
                            $h1words=explode(" ",$str);
                        }else{}

                    }
            echo "<br /><hr /><br />";
            fclose($filee);
                }

            }
            closedir($dh);

        }
    }
}
4

2 回答 2

1

遍历第一个数组并将每个值与第二个数组的每个值进行比较:

$i = 0
foreach($words as $array1){
  foreach($h1words as $array2){
    if($array1 === $array2){
      //equal
    }else{
      //not equal
    }
  }
  $i++
}

这将遍历 in 中的每个值,$words并将其与 中的每个值进行比较$h1words

于 2013-09-04T04:57:40.863 回答
0

现在它与 preg_match() 一起工作,谢谢你的帮助

foreach($words as $wd){
    foreach($h1words as $wh){
    $findd=$wd;
    $text=$wh;
    if (preg_match("/".$findd."/i",$text)){
        echo $str;

    }else{continue;}
于 2013-09-04T18:23:40.890 回答