2
프로토콜, 디렉토리, 하위 도메인 또는 하위 도메인이있을 수도 있고 없을 수도있는 사용자 입력 URL 문자열에서 도메인 이름과 TLD (하위 도메인 없음) 등 즉프로토콜을 포함하지 않을 수도있는 문자열에 대해 parse_url()을 실행하십시오.
파일 이름은 다음 중 하나를 주어진 : example.com
:
example.com
www.example.com
sub.example.com
example.com/whatever/hey.html
http://example.com
https://subdomain.example.com
ftp://example.com/whatever/hey.html
나는 항상 함께 끝나야합니다. URL이 프로토콜없이 제공되는 경우
$hostParts = explode('.', parse_url($URL, PHP_URL_HOST));
$tld = array_pop($hostParts);
$domain = array_pop($hostParts);
$domain = $domain . "." . $tld;
그러나, 그것은 나누기 :
는 지금이 내가 뭐하는 거지입니다. 이 상황에서 parse_url
이 호스트를 얻지 못하는 이유는 무엇입니까?
나는 당신이 옳다는 것을 알 수 있습니다. 다음과 같이 코드를 사용했습니다 : 'if (strpos ($ URL, ": //") === false && substr ($ URL, 0,1)! = "/") { $ URL = " http : // ". $ URL; }' 코드의 첫 번째 줄 앞에 넣으면됩니다. – brentonstrine
아마도 조금 더 간단 할 것이다.'$ url = (strpos ($ urlString, "//") === false)? "// $ urlString": $ urlString; –