Код: Выделить всё
String: Auch ein blindes Huhn findet einmal ein Korn.
Words: auch, ein, sehendes
< /code>
Я хочу проверить, какое из слов содержится в строке. Я использую preg_match_all
Код: Выделить всё
$pattern = "/\bauch\b|\bein\b|\bsehendes\b/i";
$subject = "Auch ein blindes Huhn findet einmal ein Korn.";
preg_match_all($pattern, $subject, $matches);
print_r($matches);
Array
(
[0] => Array
(
[0] => Auch
[1] => ein
[2] => ein
)
)
< /code>
Это работает, как и ожидалось, но, поскольку мне приходится часто редактировать шаблон, и я считаю, что смущает и заменить слова, когда они все окружены якорями границ слов (\b
Код: Выделить всё
$pattern = "auch|ein|sehendes";
$pattern = "/\b" . $pattern . "\b/i";
< /code>
Это, конечно, не работает, как ожидалось. , но я хотел бы избежать петли. Есть идеи, как сделать это быстро? Возврат preg_match_all
Подробнее здесь: https://stackoverflow.com/questions/794 ... ay-and-sur