Home > Backend Development > PHP Tutorial > Detailed explanation of how php uses regular expressions to obtain the URL in a string

Detailed explanation of how php uses regular expressions to obtain the URL in a string

墨辰丷
Release: 2023-03-28 09:52:01
Original
6371 people have browsed it

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);
Copy after login


The running result is:


( 
  [0] => Array 
    ( 
      [0] => http://www.manongjc.com 
    ) 
)
Copy after login


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] )
Copy after login


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"; 
?>
Copy after login


Output result:


<b>example: </b>, <p align=left>this is a test</p> 
example: , this is a test
Copy after login




##The above is this article The entire content, I hope it will be helpful to everyone's study.


Related recommendations:

PHP

Regular expressionExamples of matching, replacement and segmentation functions

PHP

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template