Air_O
@Air_O
Начинающий web-разработчик

Как осуществить поиск файлов в независимости от регистра?

Доброго утра, пользователи Тостера

Столкнулся с проблемой при реализации поиска строки в текстовых файлах. Вроде в регулярном выражении я добавил флаг i, но он почему то не работает. Что я делаю не так? Вот код:
function searchAnyWord() {

	function searchAny($fileName, $searchText) {

	    $contents = file_get_contents('./files/' . $fileName);
	    $pattern = preg_quote($searchText);
	    $pattern = "/^.*$pattern.*\$/im";

		if(preg_match_all($pattern, $contents, $matches)) {
			echo "<br>" . "Результат поиска в файле " . $fileName . ": <br>";
			echo implode($matches[0], "<br>");
		} else {
			echo "<br>" . "Нет совпадений в файле " . $fileName . "<br>";
		}
	}

	if ($_POST['word'] != '' && $_POST['word'] != ' ') {
		$arSeacrh = GetFiles();
		$searchText = $_POST['word'];
		foreach ($arSeacrh as $k=>$fileName) {
	    	searchAny($fileName, $searchText);
	    	echo "<br>";
		}
	} else {
		echo "Ошибка, заполните поле поиска!";
	}
}
  • Вопрос задан
  • 249 просмотров
Решения вопроса 1
AlexMaxTM
@AlexMaxTM
Во-первых, может возникнуть проблема с кодировкой. Верхний и нижний регистры в разных кодировках это разные вещи, и флаг i, тут может не помочь.
Во-вторых, регулярное выражение какое-то сомнительное. Оно у вас хоть что-нибудь находит пусть и без учета регистра?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы