Home  >  Article  >  Backend Development  >  Detailed analysis of the basic use of PHP function preg_match_all regular expression_PHP tutorial

Detailed analysis of the basic use of PHP function preg_match_all regular expression_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 16:12:25785browse

Before understanding regular expressions, you need to master some basic knowledge of commonly used regular expressions. If you can remember these, it is best to remember them. If you can’t remember, you can look them up when you need to use them. There are just multiple special characters, so regular expressions are Expressions are special. You can view more detailed instructions for details.

For detailed instructions on the preg_match_all function, you can check the PHP manual. This article uses preg_match_all to test the effect of regular expressions.

Example code:

Copy code The code is as follows:

$html = '< div id="biuuu">jb51.net
jb51.net2
jb51.net3
' ;

Instance requirements: Take out the ID and content of each DIV element, such as biuuu, biuuu_2, biuuu_3, jb51.net, jb51.net2 and jb51.net3 (some commonly used website grabbing methods This is how it matches)

Analysis: A string is a basic HTML element. Each DIV element corresponds to an ID and content, and is independent. First consider how to remove a DIV The ID value and content inside, such as: jb51.net, and then match other similar elements. Two values ​​need to be taken out from a DIV, that is, two matching expressions. The first expression is used to match the ID value (biuuu), and the second expression is used to match the content of the ID (jb51.net). Regular Expressions commonly used in expressions use parentheses, then the previous element will become the following form:
(jb51.net)

< ;div id="(expression 1)">(expression 2)

Okay, use the parentheses above to divide the area that needs to be matched. The next step is how to match the content in each expression. We guess that an ID may be letters, numbers or underscores, then this becomes basic. This can be achieved by using square brackets, as follows:

Expression 1: [a-zA-Z0-9_]+ (meaning matching uppercase and lowercase letters, numbers and underscores)
How to match expression 2, because the content of the ID can be Any character, but be careful, it cannot match the < or > characters, because if you match these two characters, all DIVs used later will be matched, so you need to exclude the elements starting with these two characters, that is, they will not match With < or > characters, as follows:

Expression 2: [^<>]+ (indicating that the < and > characters are not matched)
In this way, the subexpression that needs to be matched is realized, but it still needs to be An expression needs to be matched. The method is as follows:
Expression: / '"(Expression 1)"'>(Expression 2)

/
Pay attention to the double quotes " and / You need to use escape characters to escape, and then put the first two expressions in,
as follows: '"([a-z0-9_]+)"'>/
([^<>]+)

In this way, a regular expression that matches the ID value and content of each DIV element is implemented, and then the preg_match_all function is used to test as follows:

Copy code The code is as follows :

$html = '
jb51.net
jb51.net2
< div id="biuuu_3">jb51.net3
';
preg_match_all('/([^<>] +)
/',$html,$result);
var_dump($result);

Result:
Copy Code The code is as follows:

array(3) { [0]=> array(3)
{ [0]=> string(30) "< ;div id="biuuu">jb51.net
" [1]=> string(33) "
jb51.net2
" [2]= > string(33) "
jb51.net3
" } [1]=> array(3) { [0]=> string(5) "biuuu" [1]=> string(7) "biuuu_2" [2]=> string(7) "biuuu_3" } [2]=> array(3) { [0]=> string(8) "jb51 .net" [1]=> string(9) "jb51.net2" [2]=> string(9) "jb51.net3" } }

There are three expressions, which display the matching value of each expression and store them in the form of an array, so that the ID and content of each DIV element can be taken out. The most important thing when using regular expressions is to know what is needed, and then perform matching with the requirements, and have a clear idea, and appropriately use the preg_match_all function to perform output debugging, which is very convenient.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/313682.htmlTechArticleBefore understanding regular expressions, you need to master some basic knowledge of commonly used regular expressions. It is best if you can remember these Remember, if you can’t remember, you can look it up when you need to use it. Just a few special...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Installation and configuration of PHP5 and Apache under Windows_PHP tutorialNext article:Installation and configuration of PHP5 and Apache under Windows_PHP tutorial

Related articles

See more