İlk iki karakter dayalı bir bütün dize maç klasörleri arama

0 Cevap php

Bu bir kelime arar rutin bir parçasıdır.

$ Entirelist: arama klasörleri bu gibidir. / A / 0 tüm yol z / 0 z / z a / z sokmak.

Bu dizindeki dosyalar kelimelerin tek sütun bulunmaktadır.

"Aardark" $ entirelist / a / a olacaktır

Bir-ardvark $ entirelist / a / sc olacaktır (sc = ikinci pozisyonda özel karakter. Orada asla birinci pozisyon eğer.)

Ben bu dosyaların birine yeni bir isim eklemek önce burada safdilli kontrol etmek için çalışıyorum.

(Bu bir döngü için çok $ goodnodupe [$ g] kurulmuştur olduğunu. (Ki özellikle array_unique değil bir dupe))

$sc = array("-", "_", ".", "@", "+", "~");
for ($g=0;$g<$gd; $g++){
if($goodnodupe[$g] != ''){
$word = $goodnodupe[$g];  # word to search
        $top = substr($word, 0, 1);
        $sub = substr($word, 1, 1);
        if (in_array($sub, $sc)) {
        $sub='sc';
        }
        $allfiles = glob($entirelist."/".$top."/".$sub."/*.txt");
        $elist = array();
        foreach($allfiles as $file){
        $lines = array_merge($elist, file($file, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES));
        }
        foreach ($lines as $existing){
        if (preg_match("/\b".$word."\b/i", $existing)) {
        echo "A match was found.";
        } else {
        echo "A match was not found.";
        } 
        }

Bu oldukça çaylak değilim oldukça ayrıntılı olduğunu. O $ entirelist / a / bir klasör her dosyadaki her satır için "~ bulunamadı" bir eşleşme ve yankılanırken bulduktan sonra yukarıda çalışıyor ama, o durmuyor. (Re: yerdomuzu).

Ben yakın ama, hiçbir puro olduğumu düşünüyorum.

Ben de dosya işlevleri ihtiyacım yok, umut verici görünüyor hangi dosyaları arar ama bu pasajı var. Ben yukarıdaki soruya bunun bölümleri uygulamak eğer merak. Ben hala çalışıyorum!

$words = array('a', 'b', 'c'); # words to insert, assumed to be unique
$fp = fopen('words.txt', 'r+');
while (!feof($fp))
{
$line = trim(fgets($fp));
$key = array_search($line, $words);
if ($key !== false)
{
unset($words[$key]);
if (!$words) break;
}
}
foreach ($words as $word)
{
fputs($fp, "$word\n");
}
fclose($fp);

0 Cevap