Рубрики
Uncategorized

Краткое описание экземпляра функции обработки регулярных выражений PHP (функция PCRE)

Автор оригинала: David Wong.

В этой статье описывается функция обработки регулярных выражений PHP . Чтобы поделиться с вами для вашей справки, следующим образом:

Иногда в некоторых конкретных бизнес-сценариях необходимо сопоставить или извлечь некоторую ключевую информацию, например, сопоставить некоторые ссылки на веб-страницах,

Для извлечения некоторых данных может использоваться регулярное сопоставление.

Вот некоторые распространенные регулярные функции обработки в PHP.

I. preg_replace ($шаблон, $замена, $тема)

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

php
  echo "
";
  $str = "12,34:56;784;35,67:897:65";
  //It is required to replace the above:; with spaces
  print_r(preg_replace("/[,;:]/"," ",$str));
?>

выход

12 34 56 784 35 67 897 65

2. Preg_match ($шаблон, $тема и $совпадения)

Выполните соответствующее регулярное выражение

";
  $STR = "< a href = \" https://www.baidu.com \ "> group purchase products < / a >";
  //Match the link address
  preg_match("/.*?<\/a>/",$str,$res);
  print_r($res);
?>

выход

Массив ( [0] = > товары для групповой покупки [1] => https://www.baidu.com )

3. Preg_match_all ($шаблон, $тема и $совпадения)

Выполните глобальное сопоставление регулярных выражений

";
  $str=<<
    < a href = "index. PHP" rel = "external nofollow" > Home Page
    < a href = "category. PHP? Id = 3" rel = "external nofollow" > GSM mobile phone
    < a href = "category. PHP? Id = 4" rel = "external nofollow" > dual mode mobile phone
    < a href = "category. PHP? Id = 6" rel = "external nofollow" > mobile phone accessories
  
EOF; //Use global regular matching preg_match_all(“/(.*?)<\/a>/s”,$str,$res); print_r($res); ?>

выход

Массив ( [0] => Массив ( [0] = > первая страница [1] = > GSM-телефон [2] = > двухрежимный телефон [3] = > мобильные аксессуары ) [1] => Массив ( [0] => [1] => Массив ( [0] => [1] => [2] => [3] => ) [2] => Массив ( [0] = > первая страница [1] = > GSM-телефон [2] = > двухрежимный телефон [3] = > мобильные аксессуары ) )

IV. preg_split ($шаблон, $тема)

Отдельные строки с регулярным выражением

";
  $str = "12,34:56;784;35,67:897:65";
  //Delimited string
  $arr = preg_split("/[,;:]/",$str);
  print_r($arr);
?>

выход

Массив ( [0] => 12 [1] => 34 [2] => 56 [3] => 784 [4] => 35 [5] => 67 [6] => 897 [7] => 65 )

V. prog_quote ($STR)

Экранирование символа регулярного выражения

Специальными символами регулярного выражения являются: \ + * ? [ ^ ] $ ( ) { } = ! < >: –

";
  Echo preg_quote ("(ABC) {10}"); // add a backslash before each regular expression syntax character
?>

выход

\(abc\)\{10\}

Ви. дополнительное хранилище

";
  //Sub store usage
  $date="[2012-08-09],[2012,09-19],[2011/08,09],[2012/10/09],[2013,08,01]";
  //Match the legal dates in the above string
  preg_match_all("/\[[0-9]{4}([\-,\/])[0-9]{2}\1[0-9]{2}\]/",$date,$a);
  print_r($a);
?>

выход

Массив ( [0] => Массив ( [0] => [2012-08-09] [1] => [2012/10/09] [2] => [2013,08,01] ) [1] => Массив ( [0] => – [1] =>/[2] => , ) )

Для получения подробной версии, пожалуйста, обратитесь к: www.jb51.net/article/160947.htm

PS: вот два очень удобных инструмента регулярных выражений для вашей справки:

Онлайн-тестовый инструмент регулярных выражений JavaScript: Онлайн-тестовый инструмент регулярных выражений JavaScript:

Инструмент онлайн-генерации регулярных выражений: http://tools.jb51.net/regex/create_reg

Для получения дополнительной информации о PHP вы можете ознакомиться со следующими разделами: Краткое описание использования регулярных выражений PHP, учебник по безопасности программирования PHP, краткое описание навыков фильтрации безопасности PHP, полное описание навыков работы с массивами PHP, курс введения в базовый синтаксис PHP, Краткое описание использования строк PHP и курс введения в работу с базой данных PHP + MySQL

Я надеюсь, что эта статья будет полезна для программирования на PHP.