PHP

Извлечение данных с помощью регулярных выражений PHP

Получение данных с помощью функций preg_match и preg_match_all.

1

Получение текста из скобок

$text = '
Телеобъектив: диафрагма [ƒ/2.8]
Широкоугольный объектив: (диафрагма ƒ/1.8)
По беспроводной сети: {до 13 часов}
Поддержка диапазона: <Dolby Vision и HDR10>';

// [...]
preg_match_all("/\[(.+?)\]/", $text, $matches);
print_r($matches[1]);

// (...)
preg_match_all("/\((.+?)\)/", $text, $matches);
print_r($matches[1]);

// {...}
preg_match_all("/\{(.+?)\}/", $text, $matches);
print_r($matches[1]);

// <...>
preg_match_all("/\<(.+?)\>/", $text, $matches);
print_r($matches[1]);
Array
(
    [0] => ƒ/2.8
)
Array
(
    [0] => диафрагма ƒ/1.8
)
Array
(
    [0] => до 13 часов
)
Array
(
    [0] => Dolby Vision и HDR10
)
2

Извлечение текста из HTML тегов

$text = '
<title>Тег TITLE</title>
<h1>Тег H1</h1>
<p>Текст 1</p>
<p>Текст 2</p>';

// <title>
preg_match('/<title[^>]*?>(.*?)<\/title>/si', $text, $matches);
echo $matches[1];

// <h1>
preg_match('/<h1[^>]*?>(.*?)<\/h1>/si', $text, $matches);
echo $matches[1];

// Извлекает текст из всех <p>
preg_match_all('/<p[^>]*?>(.*?)<\/p>/si', $text, $matches);
print_r($matches[1]);
Тег TITLE

Тег H1

Array
(
    [0] => Текст 1
    [1] => Текст 2
)
3

Получить url из текста

$text = 'Text http://ya.ru text http://google.ru text.';
preg_match_all('/(http:\/\/|https:\/\/)?(www)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-\?\%\&]*)*\/?/i', $text, $matches);
print_r($matches[0]);
Array
(
    [0] => http://ya.ru
    [1] => http://google.ru
)
4

Получить href из ссылок

$text = '
<a href="http://ya.ru">Яндекс</a>
<a href="http://google.ru">Google</a>
<a href="http://mail.ru">Mail.ru</a>';

preg_match_all('/<a.*?href=["\'](.*?)["\'].*?>/i', $text, $matches);
print_r($matches[1]);
Array
(
    [0] => http://ya.ru
    [1] => http://google.ru
    [2] => http://mail.ru
)
5

Получить анкоры ссылок

$text = '
<a href="http://ya.ru">Яндекс</a>
<a href="http://google.ru">Google</a>
<a href="http://mail.ru">Mail.ru</a>';

preg_match_all('/<a.*?>(.*?)<\/a>/i', $text, $matches);
print_r($matches[1]);
Array
(
    [0] => Яндекс
    [1] => Google
    [2] => Mail.ru
)
6

Получить src из тегов img

$text = 'text <img alt="" src="/logo.png"> text';
preg_match_all('/<img.*src="(.*)".*>/is', $text, $matches);
print_r($matches[1]);
Array
(
    [0] => /logo.png
)
7

Извлечь e-mail адреса из текста

$text = 'text admin@mail.ru text text text admin@ya.ru';
preg_match_all('/([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,6}/i', $text, $matches);
print_r($matches[0]);
Array
(
    [0] => admin@mail.ru
    [1] => admin@ya.ru
)
В последнее время письма отправляемые с хостингов через функции mail() и mb_send_mail() часто попадают или совсем не...
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
В статье приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и...
Библиотека GD дает возможность работать с изображениями в PHP. Далее представлены примеры как изменить размер, вырезать...