>  기사  >  백엔드 개발  >  PHP가 정규식을 사용하여 문자열의 URL을 얻는 방법에 대한 자세한 설명

PHP가 정규식을 사용하여 문자열의 URL을 얻는 방법에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-29 09:59:576298검색

클라이언트는 문자열을 전달하고 모든 URL은 문자열과 일치해야 합니다. PHP에서 이를 달성하는 방법은 무엇입니까? 이 글에서는 PHP가 문자열에서 URL(웹사이트 링크)을 얻는 방법을 소개합니다. 주로 PHP 정규식 함수 preg_match_all을 사용합니다. 구체적인 구현 방법은 아래를 참조하세요

$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);


실행 결과는 다음과 같습니다.


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


preg_match_all 함수는 여기서 주로 사용됩니다. 이 함수의 구체적인 사용법은 다음과 같습니다.

preg_match_all - 전역 정규식 일치 수행

구문: ​​


int preg_match_all ( string pattern, string subject, array matches [, int flags] )


주제에서 모두 검색 패턴으로 제공되는 패턴 정규 표현식은 콘텐츠와 일치하고 그 결과를 플래그에 지정된 순서대로 일치 항목에 넣습니다.
첫 번째 일치 항목을 검색한 후 다음 검색은 이전 일치 항목의 끝부터 시작됩니다.

PREG_PATTERN_ORDER 및 PREG_SET_ORDER에 특히 주의하세요

플래그는 다음 플래그의 조합일 수 있습니다(PREG_PATTERN_ORDER 및 PREG_SET_ORDER를 함께 사용하는 것은 의미가 없음). [0]은 모든 패턴 배열과 일치하고, $matches[1]은 첫 번째 대괄호의 하위 패턴과 일치하는 문자열로 구성된 배열입니다. (즉, $matches[0] [0]은 모든 패턴 일치의 두 번째 항목이고, $matches[0] [1]은 모든 패턴 일치의 두 번째 항목이며, $matches[1] [0]은 다음과 일치합니다. 각 항목은 $matches[1] [0]이 각 괄호의 두 번째 항목과 일치합니다.)

<?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




위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.


관련 추천:


PHP

정규식

대치 및 분할 함수 예제

PHP
정규 표현식

대치 및 분할 함수 예제 분석


긍정 그럼 표현은

명령문 주석 단계에 대한 자세한 설명

PHP에서 가장 일반적으로 사용되는
정규식


위 내용은 PHP가 정규식을 사용하여 문자열의 URL을 얻는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.