>  기사  >  백엔드 개발  >  PHP에서 정규식을 사용하여 URL 링크를 일치시키는 방법

PHP에서 정규식을 사용하여 URL 링크를 일치시키는 방법

WBOY
WBOY원래의
2023-06-24 09:30:114281검색

일상적인 PHP 개발에서는 문자열을 일치시키고 바꾸기 위해 정규식을 사용해야 하는 경우가 많습니다. 그중에서도 URL 링크 일치는 매우 일반적인 요구 사항입니다. 이 기사에서는 PHP에서 정규식을 사용하여 다양한 URL 링크를 일치시키는 방법을 소개합니다.

  1. 일반 URL 링크 일치

일반 URL 링크는 http 또는 https로 시작하는 링크를 의미합니다. 다음 정규식을 사용하여 일치시킬 수 있습니다.

$pattern = "/((http|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?)/i";

여기서는 대소문자를 구분하지 않음을 의미합니다. 이 정규식은 다음 유형의 URL 링크와 일치할 수 있습니다.

http://www.example.com
http://www.example.com/index.php
http://www.example.com/?id=123
https://www.example.com
https://www.example.com/index.php
https://www.example.com/?id=123
  1. IP 주소 링크 일치

일반적인 URL 링크 외에도 때로는 IP 주소 링크도 일치해야 합니다. 다음 정규식을 사용하여 일치시킬 수 있습니다.

$pattern = "/((http|https)://)?(d{1,3}.d{1,3}.d{1,3}.d{1,3})(:d{1,5})?([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";

이 정규식은 다음 유형의 URL 링크와 일치할 수 있습니다.

http://192.168.0.1
http://192.168.0.1/index.php
http://192.168.0.1/?id=123
https://192.168.0.1
https://192.168.0.1/index.php
https://192.168.0.1/?id=123
  1. URL 링크를 www와 일치시킵니다.

경우에 따라 URL을 www URL과 일치시켜야 합니다. 링크. 다음 정규식을 사용하여 일치시킬 수 있습니다.

$pattern = "/((http|https)://)?(www.)?[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";

이 정규식은 다음 유형의 URL 링크와 일치할 수 있습니다.

http://www.example.com
http://www.example.com/index.php
http://www.example.com/?id=123
https://www.example.com
https://www.example.com/index.php
https://www.example.com/?id=123
  1. 무프로토콜 링크 일치

어떤 경우에는 비프로토콜 링크와 일치해야 합니다. , 예를 들어 //www.example.com과 같은 링크입니다. 다음 정규식을 사용하여 일치시킬 수 있습니다.

$pattern = "/(^|[
 ])([w]+?://[w]+[^ "
    <]*)|(^|[
 ])([w]+?//[w]+[^ "
    <]*)|(^|[
 ])(//[w]+[^ "
    <]*)/i";

이 정규식은 다음 유형의 URL 링크와 일치할 수 있습니다.

//www.example.com
//www.example.com/index.php
//www.example.com/?id=123
  1. 다양한 혼합 링크 일치

실제 개발에서는 다양한 혼합 링크와 일치해야 할 수도 있습니다. , 쿼리 매개변수나 앵커가 포함된 링크, 특수 문자가 포함된 링크 등이 있습니다. 다음 정규식을 사용하여 일치시킬 수 있습니다.

$pattern = "/((http|https)://)?([a-zA-Z0-9-.]+(.[a-zA-Z]{2,3})(:d{1,5})?)([w-.,@?^=%&amp;:/~+#]*[w-@?^=%&amp;/~+#])?/i";

이 정규식은 다음 유형의 URL 링크와 일치할 수 있습니다.

http://www.example.com/index.php?id=123#top
https://www.example.com/home?name=john&age=20
https://www.example.com/1+1=2

지금까지 정규식을 사용하여 다양한 URL 링크를 일치시키는 방법을 소개했습니다. 실제 개발에서는 필요에 따라 적절한 정규식을 선택하여 일치를 완료할 수 있습니다. 동시에 정규식은 성능에 일정한 영향을 미치기 때문에 많은 양의 데이터를 처리할 때 성능 문제에 주의해야 합니다.

위 내용은 PHP에서 정규식을 사용하여 URL 링크를 일치시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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