클라이언트는 문자열을 전달하고 모든 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가 정규식을 사용하여 문자열의 URL을 얻는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!