Просто используйте
^.*PHRASE.*$
^
для соответствия началу строки
.*
для соответствия любому количеству символов, кроме символов новой строки
PHRASE
соответствует вашему ключевому слову / фразе
.*
как указано выше
$
для соответствия концу строки.
Вы можете также захотеть окружить свой PHRASE
якорями границы слова (если ваша фраза действительно является словом или словами): ^.*\bPHRASE\b.*$
будет соответствовать только, если PHRASE
само по себе (а не является частью другого слова) как PHRASEBOOK
).
Итак, если вы применяете свое регулярное выражение для каждой отдельной строки, используйте
preg_match('/^.*PHRASE.*$/i', $dictionary, $matches)
Если у вас есть все строки внутри длинной многострочной строки и вы хотите перебрать все строки, содержащие вашу фразу, используйте:
preg_match_all('/^.*PHRASE.*$/im', $dictionary, $matches, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($matches[0]); $i++) {
# Matched text = $matches[0][$i];
}
Обратите внимание на модификатор /m
, позволяющий ^
и $
совпадать в начале и конце каждой строки (вместо простого начала / конца строки).