Многократное соответствие слова поиска с использованием strpos

Интересно, сможет ли кто-нибудь помочь с небольшой проблемой?Кажется, это исправлено - моя голова сейчас кружится кругами ...

Хорошо, у меня есть файл .txt с многочисленными строками информации - я пытаюсь сопоставить ключевые слова с этими строками и отобразить определенное количество совпадающих строк.

Я собрал этот фрагмент сценария и, пока он работает, он соответствует строке, только если слова находятся в том же порядке, что и слова для поиска.

На данный момент в качестве примера:

Поисковые слова:

Красная шляпа

Строки в .txt файле:

это моя красная шляпа

моя шляпа красная

эта шляпа зеленая

это красный шарф

твоя красная шляпа хороша

Поскольку скрипт на данный момент будет соответствовать и отображать строки 1, 5

Однако я бы хотел, чтобы он совпадал и отображал строки 1, 2, 5

Любой порядок, но все слова должны присутствовать, чтобы соответствовать.

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

Буду признателен за любую помощь, прежде чем я потеряю волосы, которые у меня остались :-)

Вот код, который у меня сейчас работает - переменная поиска уже установлена:

Ответы на вопрос(1)

Ваш ответ на вопрос