문제

나는 '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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top