Home >Backend Development >PHP Tutorial >Detailed explanation of how php uses regular expressions to obtain the URL in a string
The client passes a string and all URLs need to be matched from the string. How to achieve this in PHP? This article introduces how PHP obtains the URL (website link) in a string. It mainly uses the PHP regular expression function preg_match_all. Please see below for the specific implementation method
$str ='本文实例讲述了php匹配字符串里所有URL地址的方法。http://www.manongjc.com 分享给大家供大家参考'; preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$str,$array2); print_r($array2);
The running result is:
( [0] => Array ( [0] => http://www.manongjc.com ) )
The preg_match_all function is mainly used here. The specific usage of this function is as follows:
preg_match_all — Perform global regular expression matching
Syntax:
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
Search in subject for all patterns given by pattern Regular expression matches content and puts the results into matches in the order specified by flags.
After searching for the first match, subsequent searches start from the end of the previous match.
Pay special attention to PREG_PATTERN_ORDER and PREG_SET_ORDER
flags can be a combination of the following flags (note that it makes no sense to use PREG_PATTERN_ORDER and PREG_SET_ORDER together):
If you use PREG_PATTERN_ORDER
Sort the results so that $matches[0] is an array of all pattern matches, $matches[1] is an array of strings matched by the subpattern in the first bracket, and so on. (That is, $matches[0] [0] is the second item in all pattern matches, $matches[0] [1] is the second item in all pattern matches, $matches[1] [0] is the match for each item. The first item in brackets, $matches[1] [0] matches the second item in each bracket)
##
<?php preg_match_all ("|<[^>]+>(.*)</[^>]+>|U","<b>example: </b><p align=left>this is a test</p>",$out, PREG_PATTERN_ORDER); /* http://www.manongjc.com/article/1591.html */ print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n"; ?>
<b>example: </b>, <p align=left>this is a test</p> example: , this is a test
##The above is this article The entire content, I hope it will be helpful to everyone's study.
Related recommendations:
Regular expressionExamples of matching, replacement and segmentation functions
Regular expressionExample analysis of matching replacement and segmentation functions
Regular expressionStatement Detailed explanation of the comment steps
#regular expressions most commonly used in PHP
The above is the detailed content of Detailed explanation of how php uses regular expressions to obtain the URL in a string. For more information, please follow other related articles on the PHP Chinese website!