일상적인 PHP 개발에서는 문자열을 일치시키고 바꾸기 위해 정규식을 사용해야 하는 경우가 많습니다. 그중에서도 URL 링크 일치는 매우 일반적인 요구 사항입니다. 이 기사에서는 PHP에서 정규식을 사용하여 다양한 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
일반적인 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
경우에 따라 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
어떤 경우에는 비프로토콜 링크와 일치해야 합니다. , 예를 들어 //www.example.com과 같은 링크입니다. 다음 정규식을 사용하여 일치시킬 수 있습니다.
$pattern = "/(^|[ ])([w]+?://[w]+[^ " <]*)|(^|[ ])([w]+?//[w]+[^ " <]*)|(^|[ ])(//[w]+[^ " <]*)/i";
이 정규식은 다음 유형의 URL 링크와 일치할 수 있습니다.
//www.example.com //www.example.com/index.php //www.example.com/?id=123
실제 개발에서는 다양한 혼합 링크와 일치해야 할 수도 있습니다. , 쿼리 매개변수나 앵커가 포함된 링크, 특수 문자가 포함된 링크 등이 있습니다. 다음 정규식을 사용하여 일치시킬 수 있습니다.
$pattern = "/((http|https)://)?([a-zA-Z0-9-.]+(.[a-zA-Z]{2,3})(:d{1,5})?)([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/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 중국어 웹사이트의 기타 관련 기사를 참조하세요!