Задать вопрос
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 "Ошибка, заполните поле поиска!";
	}
}
  • Вопрос задан
  • 266 просмотров
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
AlexMaxTM
@AlexMaxTM
Во-первых, может возникнуть проблема с кодировкой. Верхний и нижний регистры в разных кодировках это разные вещи, и флаг i, тут может не помочь.
Во-вторых, регулярное выражение какое-то сомнительное. Оно у вас хоть что-нибудь находит пусть и без учета регистра?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽