정규 표현식과 URL 일치
정규 표현식은 처음에는 어려울 수 있지만 다양한 데이터 유형에 대한 강력한 패턴 일치 기능을 제공합니다. URL을 추출하는 과정에서 다양한 URL 형식을 수용할 수 있는 유연한 패턴이 필요합니다.
주요 프로토콜이 있거나 없는 URL을 캡처할 수 있는 강력한 정규식(예: "http://www" 또는 " www") is:
((https?|ftp)://)? // Optional SCHEME ([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)? // Optional User and Pass ([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3}))) // Host or IP address (:[0-9]{2,5})? // Optional Port (/([a-z0-9+$_%-]\.?)+)*/? // Path (\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)? // Optional GET Query (#[a-z_.-][a-z0-9+$%_.-]*)? // Optional Anchor
PHP에서 이 표현식을 사용하려면 이를 큰따옴표로 묶고 평가하려는 URL과 함께 preg_match 함수에 전달하세요. 예:
<code class="php">$url = 'www.example.com/etcetc'; if (preg_match("~^$regex$~i", $url)) { echo 'Matched URL without protocol'; }</code>
마찬가지로 프로토콜이 있는 URL의 경우:
<code class="php">$url = 'http://www.example.com/etcetc'; if (preg_match("~^$regex$~i", $url)) { echo 'Matched URL with protocol'; }</code>
이 패턴은 다양한 URL 형식을 포괄하는 동시에 "와 같은 문자가 포함된 잠재적인 악의적 입력으로부터 보호해야 합니다. /".
위 내용은 정규식을 사용하여 URL을 일치시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!