정규 표현식과 URL 일치
정규 표현식은 처음에는 어려울 수 있지만 다양한 데이터 유형에 대한 강력한 패턴 일치 기능을 제공합니다. URL을 추출할 때 다양한 URL 형식을 수용하려면 유연한 패턴이 필요합니다.
주요 프로토콜이 있거나 없는 URL을 캡처할 수 있는 강력한 정규식(예: "http://www" 또는 " www")는:
((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 함수에 전달하세요. 예:
$url = 'www.example.com/etcetc';
if (preg_match("~^$regex$~i", $url)) {
echo 'Matched URL without protocol';
}
마찬가지로, 프로토콜이 있는 URL의 경우:
$url = 'http://www.example.com/etcetc';
if (preg_match("~^$regex$~i", $url)) {
echo 'Matched URL with protocol';
}
이 패턴은 광범위한 URL 형식을 포괄하는 동시에 "/"와 같은 문자가 포함된 잠재적인 악의적 입력으로부터 보호해야 합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3