PHP 정규 표현식 작동: URL 일치

WBOY
풀어 주다: 2023-06-22 19:12:01
원래의
2196명이 탐색했습니다.

PHP 정규식 연습: URL 매칭

인터넷의 대중화로 인해 URL은 일상생활에서 없어서는 안 될 부분이 되었습니다. 웹 디자인, 데이터 크롤링 등에서 URL을 일치시키기 위해 정규식을 사용해야 하는 경우가 많습니다. 이 기사에서는 PHP의 정규 표현식을 사용하여 URL을 일치시키는 방법에 중점을 둘 것입니다.

URL의 기본 구조

먼저 URL의 기본 구조를 이해해 봅시다. 일반적으로 URL은 다음 부분으로 구성됩니다.

프로토콜 이름: http, https 등
호스트 이름: 도메인 이름 또는 IP 주소
포트 번호: 80, 8080 등(선택 사항)
경로: 페이지의 특정 위치(선택 사항)
쿼리 문자열: GET 요청 중에 전달된 매개 변수(선택 사항)
조각: 페이지 내의 특정 위치를 가리키는 앵커(선택 사항)

몇 가지 예:

http://www. example.com:8080/index.html?id=1#top
https://192.168.1.1/aboutUs.html
https://www.google.com/search?q=php+regular+expression
ftp: //ftp.example.com/public/files/manual.pdf

위의 예에는 다양한 프로토콜, 호스트 이름, 포트 번호, 경로, 쿼리 문자열 및 조각이 포함되어 있습니다.

정규식의 개념

정규식은 여러 유형의 정보를 일치시키는 데 사용할 수 있는 문자열 일치 메커니즘입니다. 정규 표현식은 일반적으로 특수 문자, 일반 문자, 대괄호 및 기타 매개 변수로 구성되며 문자 수, 위치 및 유형을 지정하는 데 사용할 수 있습니다. PHP에서는 preg_match() 함수를 사용하여 정규식을 일치시킬 수 있습니다.

간단한 정규식 작성

위의 기본 개념을 이해한 후에는 URL과 일치하는 간단한 정규식을 작성할 수 있습니다. 다음은 구체적인 예입니다.

$pattern = '/^((http|https|ftp)://)?[a-z0-9-]+(.[a-z0-9-]+)+ ( [/?#:][^s]*)?$/';
$url = 'http://www.example.com/index.html?id=1';

preg_match($pattern, $ url , $matches);
print_r($matches);

위의 예에서는 URL을 일치시키기 위해 정규식 $pattern을 정의한 다음 preg_match() 함수를 사용하여 일치시켰습니다. 마지막으로 일치하는 결과가 인쇄됩니다.

코드 분석

정규 표현식은 두 부분, 즉 기본 구조와 프로토콜 이름, 호스트 이름, 경로 등과 같은 각 구성 요소의 일치 부분으로 구성됩니다. 아래에서 하나씩 설명하겠습니다.

기본 구조: '^((http|https|ftp)://)?'

  • '^'은 줄의 시작 부분과 일치함을 의미합니다.
  • 'http|https|ftp'는 http, https 또는 ftp와 일치함을 의미합니다. 프로토콜
  • '://'는 프로토콜 이름과 호스트 이름 사이의 구분 기호인 2개의 문자 일치를 의미합니다.
  • '?'는 이전 내용이 선택 사항임을 의미합니다(일부 URL에는 프로토콜 이름)

프로토콜 이름: '(http|https|ftp)://'

호스트 이름: '[a-z0-9-]+(.[a-z0-9-]+)+ '

  • '[ a-z0-9-]+'는 도메인 이름에서 문자나 숫자 또는 '-'가 한 번 이상 일치함을 의미합니다.
  • '(.[a-z0-9-]+)+' 및 도메인 이름이 도메인 이름 뒤에 일치함을 의미합니다. 콘텐츠, 최소 한 번 일치

경로, 쿼리 문자열 및 조각: '([/?#:]1*)?'

  • '[/ ?#:]'는 경로, 쿼리 문자열과 일치합니다. 또는 '/', '?', '#', ':'
  • '2'과 같이 조각 앞에 있는 다양한 특수 문자는 다음을 제외한 모든 문자를 의미합니다. 공백, '*'는 이전 내용과 몇 번이든 일치한다는 의미입니다(선택 사항)

요약하자면, 위의 정규 표현식은 모든 유형의 URL과 일치할 수 있습니다. 한 가지 주목해야 할 점은 실제 개발에서는 특정 요구에 따라 정규식 규칙을 수정하거나 확장해야 할 수도 있다는 것입니다.

요약

정규식은 PHP에서 널리 사용되며 문자, 숫자, 이메일, 전화번호 등 다양한 유형의 정보를 일치시키고 확인하는 데 사용할 수 있습니다. 위 글에서는 정규식을 통해 URL을 일치시키는 방법을 소개하고, 정규식의 기본 개념도 간략하게 소개합니다. 독자들이 정규 표현식의 적용에 대해 더 깊은 이해를 갖기를 바랍니다.


  1. s
  2. s

위 내용은 PHP 정규 표현식 작동: URL 일치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿