![]() |
![]() ![]() ![]() ![]() ![]() |
|
![]() |
||
|
PHP поиск слова в строкеРаздел: Тонкости PHPОчень часто возникает необходимость найти слово в строке методами PHP. Причины для этого могут быть совершенно разные. Для опытного веб-программиста эта задача не вызывает затруднений, однако у начинающих разработчиков могут возникнуть серьезные трудности. В одной из самописных форм обратной связи я решил добавить проверку текстового поля на содержание слова "href", так как через эту форму регулярно поступал ссылочный спам с множеством таких элементов. href, как вы уже поняли - это фрагмент html кода, который спам-бот пытается внедрить на страницу сайта, но лишь огорчает меня спамом, который сыпется на емайл. Итак искать "href" мы будем средствами регулярных выражений. Не буду вдаваться в подробности и забивать вам голову теорией и возможностями регулярных выражений. Просто решу конкретную задачу. Поиск слов и наборов символов в строке осущесвляется с помощью функции preg_match. Составим проверку:
Иногда бывает нужно найти именно СЛОВО, а не фрагмент строки как у меня в примере. В этом случае нужно изменить наше условие на такое:
Т.е. добавить перед href и после него символы "\b". Этот символ обозначает границы слова. Т.е. если мой скрипт будет работать с этим условием, а не с первым, то под действие скрипта попадут только комбинации "href", отделенные от остальной строки пробелами, разрывами строк и прочее, а "href=" уже не подпадет под это условие.
|