Содержание
- Извлечение данных с помощью регулярных выражений PHP
- Текст из скобок
- Результат:
- Текст из HTML тегов
- Результат:
- URL из текста
- Результат:
- href из ссылок
- Результат:
- Анкоры ссылок
- Результат:
- Src из тегов img
- Результат:
- E-mail адреса из текста
- Результат:
- Цвета
- HEX/HEXA
- Результат:
- RGB/RGBA
- Регулярные выражения для удаления тегов
- Удаление тегов
- Результат:
- Удаление атрибутов
- Результат:
- Результат:
- Удаление тегов в ячейках таблицы
- Результат:
- Комментарии
- Другие публикации
Извлечение данных с помощью регулярных выражений PHP
Получение данных с помощью функций preg_match() и preg_match_all() .
Текст из скобок
Извлечение содержимого из круглых, квадратных и фигурных скобок:
$text = ' Телеобъектив: диафрагма [ƒ/2.8] Широкоугольный объектив: (диафрагма ƒ/1.8) По беспроводной сети: Поддержка диапазона: '; /* [. ] */ 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 )
Текст из HTML тегов
$text = ' Тег H1
Текст 1
Текст 2
'; /* */ preg_match('/]*?>(.*?)/si', $text, $matches); echo $matches[1]; /* */ preg_match('/]*?>(.*?)/si', $text, $matches); echo $matches[1]; /* Извлекает текст из всех
*/ preg_match_all('/
]*?>(.*?)/si', $text, $matches); print_r($matches[1]);
Результат:
Тег TITLE Тег H1 Array ( [0] => Текст 1 [1] => Текст 2 )
URL из текста
$text = 'Text http://ya.ru text http://google.ru text.'; preg_match_all('/(http:\/\/|https:\/\/)?(www)?([\da-z\.-]+)\.([a-z\.])([\/\w\.-\?\%\&]*)*\/?/i', $text, $matches); print_r($matches[0]);
Результат:
Array ( [0] => http://ya.ru [1] => http://google.ru )
href из ссылок
$text = ' Яндекс Google Mail.ru '; preg_match_all('//i', $text, $matches); print_r($matches[1]);
Результат:
Array ( [0] => http://ya.ru [1] => http://google.ru [2] => http://mail.ru )
Анкоры ссылок
$text = ' Яндекс Google Mail.ru '; preg_match_all('/(.*?)/i', $text, $matches); print_r($matches[1]);
Результат:
Array ( [0] => Яндекс [1] => Google [2] => Mail.ru )
Src из тегов img
$text = 'text text'; preg_match_all('//is', $text, $matches); print_r($matches[1]);
Результат:
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]/i', $text, $matches); print_r($matches[0]);
Результат:
Array ( [0] => admin@mail.ru [1] => admin@ya.ru )
Цвета
HEX/HEXA
$css = ' body < color: #000; background: #4545; >header < color: #111111; background: #00000080; >'; preg_match_all('/#(?:[0-9a-f])/i', $css, $matches); print_r($matches[0]);
Результат:
Array ( [0] => #000 [1] => #4545 [2] => #111111 [3] => #00000080 )
RGB/RGBA
$css = ' body < color: rgb(0,0,0); background: rgba(17,85,68,0.33); >header < color: rgb(17,17,17); background: rgba(0,0,0,0.5); >'; preg_match_all('/((rgba)\((\d,\s?)(1|0?\.?\d+)\)|(rgb)\(\d(,\s?\d)\))/i', $css, $matches); print_r($matches[0]);
Array ( [0] => rgb(0,0,0) [1] => rgba(17,85,68,0.33) [2] => rgb(17,17,17) [3] => rgba(0,0,0,0.5) )
Регулярные выражения для удаления тегов
Подборка регулярных выражений для удаления HTML тегов и атрибутов.
Удаление тегов
$text = 'Текст текст
'; echo preg_replace('/\s?Читайте также: Эскейп последовательности си шарп