Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'redirect_login_page' not found or invalid function name in /var/www/yur88222767/data/www/1st-network.ru/wp-includes/class-wp-hook.php on line 308
Функции в регулярных выражениях - В сети

Функции в регулярных выражениях


Содержание

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

Функции поиска

  • preg_match() и preg_match_all() — выполняет поиск того, что мы ищем. Возвращает true или false, т.е. совпало — не совпало. Вторая функция выполняет поиск всех совпадений вообще (в отличие от первой функции).
$txt = file_get_contents('http://www.w3.org/TR/CSS21');
$txt = html_entity_decode($txt);
/<(?P<email>([a-z.]+).?@[a-z0-9]+\.[a-z]{1-6})>/Ui
  • preg_ grep($pattern, $array) — редкоиспользуемая функция, вместо строки туда можно послать массив.

Функции замены

  • preg_replace ($pattern, $replacement, $str) — параметры функции: шаблон.

preg_replace

  • preg_replace_callback ($pattern, $str_format, $names) — параметры функции: шаблон для поиска, str_format и массив, куда все приходит.

preg_replace_callback

Функция разделения на части

  • preg_split ($pattern, $string) — параметры функции: шаблон, согласно которому будем разрезать на части; сама строка, которую будем резать.
$str = 'This is an example for preg_split().'; //у нас есть строка
//пример 1
$words = preg_split('/[\W]+/', $str); count($words);// выдаст 7, т.е. 7 элементов массива
//пример 2
$words = preg_split('/[\W]+/', $str, 2); count($words);// 2, т.к.третьим параметром ограничили количество элементов
//пример 3
$words = preg_split('/[\W]+/', $str, -1, PREG_SPLIT_NO_EMPTY); count($words);// 6

В последнем примере использовали константу PREG_SPLIT_NO_EMPTY. Она не разрезает на части ‘пустышки’ (точка, запятая, перевод строки, т.е. некоторые знаки пропускаются и не идут как отдельные части после разрезки строки).

Для тренировки работы с регулярными выражениями, для ‘набивки руки’ советую посетить сайт http://regexplib.com — там собрано огромное количество готовых регулярных выражений на все случаи жизни.


Ваш комментарий

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

Для отправки комментария, поставьте отметку, что разрешаете сбор и обработку ваших персональных данных . Политика конфиденциальности