Home > Article > Backend Development > PHP Regular Expressions: How to match all images and links in HTML
With the popularity of the Internet, web page production and website development have become an industry with huge demand. In web page production, pictures and links are indispensable elements, and regular expressions are very useful in processing these elements. This article will show you how to use PHP regular expressions to match all images and links in HTML.
1. Matching pictures
In HTML, pictures are usually introduced using the a1f02c36ba31691bcfe87b2722de723b
tag, and its format is as follows:
<img src="图片路径" alt="替代文字">
In order to match all For images, we need to match all a1f02c36ba31691bcfe87b2722de723b
tags and extract the image path from them. We can use the following regular expression for matching:
$pattern = '/<img.*?src=["']?(.*?)["'].*?>/i';
The function of this regular expression is:
1d0a94b69819f080670a8fe502661b4a
: Match a1f02c36ba31691bcfe87b2722de723b
Start tag. src=["']?
: Match src
attributes. (.*?)
: Use non Greedy pattern matches image paths. ["'].*?>
: matches other attributes after the src
attribute value, and eaff2db6b6cb8db37560f80b5dd1ad1d
tag. The format is as follows: <a href="链接地址">链接文字</a>
We need to match the 3499910bf9dac5ae3c52d5ede7383485
tag and extract the link address and link text from it. The following regular expression can be used for matching:
$pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i';
The function of this regular expression is:
55784847ccfa800f7f23a4af7651bca8
: Match3499910bf9dac5ae3c52d5ede7383485
Start tag. href=["']?
: Match href
attributes. (.*?)
: Use non Greedy pattern matches link addresses. ["'].*?>
: matches other attributes after the href
attribute value. (.*?)5db79b134e9f6b82c0b36e0489ee08ed
: Use non-greedy patterns to match link text and closing tags. The following is a simple PHP code example:
$html = '百度谷歌'; $pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i'; preg_match_all($pattern, $html, $matches); $urls = $matches[1]; $names = $matches[2]; print_r($urls); print_r($names);
The output result is:
Array ( [0] => http://www.baidu.com [1] => http://www.google.com ) Array ( [0] => 百度 [1] => 谷歌 )
As you can see, we successfully matched all links in the HTML Address and link text.
3. Summary
Using PHP regular expressions can easily match images and links in HTML, which can greatly simplify our work in web page production and website development. Of course, in actual development, we need to pay attention to the optimization and error handling of regular expressions to ensure the stability and security of the program.
The above is the detailed content of PHP Regular Expressions: How to match all images and links in HTML. For more information, please follow other related articles on the PHP Chinese website!