2014-10-25 4 views
0

У меня есть текстовый файл, содержащий безопасные слова. Я хочу иметь возможность проверять пользовательские входы, которые поступают как большие строки (50-100 слов), чтобы убедиться, что они содержат только безопасные слова. Мне интересно, какой правильный подход сделать в PHP.Самый быстрый способ поиска огромного списка слов, хранящихся в файле с помощью PHP

Единственный подход, который я имею в виду, - это зацикливание отклика пользователя на слово и сравнение с списком безопасных слов. Этот подход, к сожалению, приводит к проблемам с объемом памяти!

Файл, содержащий безопасные слова, имеет более 700 тыс. Слов.

+2

Сделать слова ключами ассоциативного массива. Затем используйте 'isset ($ safe_words [$ word])'. – Barmar

+0

Искушение предложить in_array, но isset много, МНОГО быстрее на этом – rjdown

+0

Как преобразовать слова в ключи массива? – Eyad

ответ

0

вы можете попробовать следующий код для преобразования содержимого файла в массив. , вы можете использовать isset или in_array для дальнейших операций.

<?php  
$file = file_get_contents('test.txt');  
$arr=array_combine(explode(' ',$homepage));  
$final_arr=array_combine($arr,$arr);  
print_r($final_arr);  
?>  

надеюсь, что это может вам помочь.

Смежные вопросы