PHP -REGEX 호스트 이름 추출
-
06-07-2019 - |
문제
나는 'stackoverflow'부분만을 뱉어 내고 www가없는 정규식 표현을 둘러 보았습니다. 또는 .com 등. URL이 유효한지 확인하는 것이 었습니다. PHP의 URL 필터를 사용하여 현재 사이트를 결정하려는 많은 것을 결정했습니다.
나는 전에 표현을 한 적이 없어서 누군가가 그것을 확인/더 나은 솔루션을 추천 할 수 있기를 바라고 있습니다.
preg_match('@^(?:http://)(?:www.)?([^.]+)@i', $url, $matches)
편집 : 내가 다루는 모든 URL은 .com이 도움이된다면 .com입니다.
해결책
정규 표현식을 사용하지 않고 1 라이너 !!!
$url = 'http://stackoverflow.com';
$d = array_shift( explode( '.', str_replace('www.', '', parse_url( $url, PHP_URL_HOST )) ) );
echo $d;
다른 팁
PHP를 고려 했습니까? parse_url () 기능?
당신이 가지고있는 것이 URL이고 도메인이 .com에서 끝나는 것을 알고 있다면
preg_match('#([^\.]*)\.com#', $url, $matches);
트릭을해야합니다.
이것은 도메인과 같은 도메인에서 실패 할 것입니다 www.com.foo.com
그러나 상황에 따라 충분할 수 있습니다.
preg_match('#https?://(?:www.)?(.*?)\.com#i', $str, $match);
제휴하지 않습니다 StackOverflow