$files) { foreach($files as $file=>$attr) { $zbp1 = str_replace(" ","",$arr1[$dir][$file]); $zbp2 = str_replace(" ","",$arr2[$dir][$file]); if($zbp1!=$zbp2) { $diff[$dir][$file]['new'] = $arr2[$dir][$file]; $diff[$dir][$file]['old'] = $arr1[$dir][$file]; } } } foreach($arr1 as $dir=>$files) { foreach($files as $file=>$attr) { $zbp1 = str_replace(" ","",$arr1[$dir][$file]); $zbp2 = str_replace(" ","",$arr2[$dir][$file]); if($zbp1!=$zbp2) { $diff[$dir][$file]['new'] = $arr2[$dir][$file]; $diff[$dir][$file]['old'] = $arr1[$dir][$file]; } } } var_dump($diff); echo "done"; function farr_from_file ($file) { global $skip_arr; $farr = array(); $buf = file_get_contents($file)."\n"; if (preg_match_all("!(^\..*?)^$!ism", $buf, $match)) { foreach($match[1] as $block) { if(preg_match("!^..*?\:!ism", $block, $match2)) { $dir = $match2[0]; $skip = false; foreach($skip_arr['dir'] as $skip_dir) { if(strpos($dir, $skip_dir)!==false) { $skip = true; break; } } if($skip==true) { echo "skip dir ".$dir."\n"; continue; } $arr = preg_split("!\n!", $block); foreach($arr as $str) { $arr2 = preg_split("! !", $str); if(is_array($arr2)) { $file = array_pop($arr2); if(strpos($file,".")>0) { $farr[$dir][$file]=$str; } } } } else die("match2"); } } else die("match1"); return($farr); }