Поиск данных с помощью функции preg_match

Admin PHP Обсудить

preg_match — является функция поиска в PHP. Если функция preg_replace убирает текст, то с помощью preg_match можно находить конкретные данные и сохранять их в переменную для последующего вывода.

Если нужна функция замены в PHP при поиске данных, то она называется preg_replace.

Функция работает следующим образом.

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

Во втором параметре, содержится информация, в которой необходимо найти данные.

Последний параметр, то куда мы будем сохранять найденные данные.

Найдём все что лежит внутри тега H2:

Альтернативный вариант:

Найдем конкретный тег:

Находим строку со словом заголовок, которая находится в таблице HTML, между тегами TR:

Пример 1

Нужно найти ссылку или значение внутри неё.

Это выражение поможет найти данные в ссылке:

При этом:
matches [0] — выведет ссылку с элементом
matches [2] — выведет только элемент внутри ссылки

Вывод содержимого preg_match:

или

Параметр [0] — выводит всё найденное содержимое, а если его поменять на [2] — то часть строки, которая соответствует второй подмаске (круглые скобки).

Пример 2

Имеем такое выражение сложения и равенства:

Найдем его отдельные значения:

Выведем из него значение 300:

Если нам нужна только средняя цифра из примера, мы можем найти выражение иначе:

Этим способом мы найдём:

1
"+ 200 = "

Если нужно оставить только цифру 200, это можно сделать с помощью функции preg_replace.

Пример 3

Найти адрес ссылки внутри изображения:

Ошибки в preg_match

Ошибка такого рода:

1
Warning: preg_match() expects parameter 2 to be string, array given in \index.php on line 49

Означает, что второй параметр (то в чем мы ищем) должен быть строкой. Это, конечно ни о чем не скажет, если мы не знаем, что подразумевается под строкой (string). Однако, предположим, мы всё же знаем, а поэтому переведём значение из массива в строку:

Теперь при поиске preg_match не будет ругаться и успешно выведет нужные данные.

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Поиск данных с помощью функции preg_match".

Ваш e-mail не будет опубликован. Обязательные поля помечены *