Бортовой журнал Ктулху

Примеры регулярных выражений

Решил накидать своих собственных примеров регулярок.

 

Ссылки на изображения

Выбирает все пути к картинкам с неограниченной вложенностью директорий, будут выбраны все пути, подобные указанным ниже.
http://img04.taobaocdn.com/m_pic.jpg
//img04.taobaocdn.com/m_pic.jpg
/img04.taobaocdn.com/m_pic.jpg
img04.taobaocdn.com/m_pic.jpg
/img01.taobaocdn.com/bao/u/p/l/o/a/d/e/d/Tc.jpg
img01.taobaocdn.com/bao/u/p/l/o/a/d/e/d/Tc.jpg

Без http в начале строки.

preg_match_all("/\/?(([\-\_a-zA-Z0-9\!\?\.]){0,}\/){0,}([\-\_a-zA-Z0-9\!\&\?\.]){0,}(jpg|png|gif)/", $res, $m);

С http в начале строки.

preg_match("/http:\/?(([\-\_a-zA-Z0-9\!\?\.]){0,}\/){0,}([\-\_a-zA-Z0-9\!\&\?\.]){0,}(jpg|png|gif)/", $input_line, $output_array);

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

 

Домен

Извлекает доменные имена из текста.

preg_match("/https?:\/\/([a-zA-Z0-9.]){1,255}\//", $input_line, $output_array);

 

Таблица

Извлекает таблицу из html кода

$pattern = '/<table cellspacing="0" id="track-info-summary-map-container">(.+?)<\/table>/is';
preg_match($pattern, $res, $output_array);

 

Скрипты

Извлекает скрипты между тегов <script></script>

preg_match_all("/<script[^>]*?>([\s\S]*?)<\/script>/i", $res, $js_arr);

Если модифицировать, то можно извлекать например стили <style></style>

Статья будет дополняться.