2012-08-25 2 views
0

자르기 URL의 문자열 부분을 가져오고 싶습니다. http : //처럼 http://google.com에서 http : //를 자르고 google.com을 얻어야합니다. PHP : 문자열에서 선택된 텍스트 자르기

나는 다음과 같은 코드를 사용되는 내가이 작업을 수행 할 수있는 방법
strrchr("http://google.com" , "//"); 

날 /google.com 준다? 오우 내가 얻을 수있는 유일한 google.com

* 업데이트 : * Google.com은 예입니다, URL은 http://artile.blogspot.com/article.htm 같은 긴 URL이 그래서 난 article.blogspot.com/article.htm에게

+0

대신'parse_url ('http : //google.com',PHP_URL_HOST)'을 사용하십시오. –

+0

parse_url (http://php.net/manual/en/function.parse-url.php) – Chris

+0

또는 약간의 정규식 – MimiEAM

답변

1

문자열이 http://으로 시작하는지 확인한 다음 나머지 하위 문자열을 가져 오는 함수를 사용해야하는 이유는 무엇입니까?


제거하려는 다른 접두사가있는 경우

$url = 'http://google.com'; 
if (strpos($url, 'http://') === 0) { 
    $url = substr($url, 7); 
} 

, 아마도 일을 할 수있는 빠른 정규식으로 찾기 시작하는 시간이 될 수 있습니다. 예 :

$url = 'https://google.com'; 
$url = preg_replace('#^(?:https?|ftps?|news|feed|gopher)://#', '', $url); 
+0

이것도 작동합니다, thanks :) str_replace도 트릭을 할 것입니다. – rksh

2
을 필요로 할 수있다

기능이 parse_url()입니다. 로렌스가 말한대로

, 정확한 코드는 다음과 같습니다

$host = parse_url('http://google.com',PHP_URL_HOST); 

대안이 될 것 str_replace()

$host = str_replace("http://", "", "http://google.com", 1); 

네 번째 매개 변수 (count는) 그것은 단지 첫째을 대체합니다 있는지 확인합니다http://

+0

만약 url은 이와 비슷한 것입니다. http://artile.blogspot.com/artile.htm 그래서 http : // 부분을 건너 뛰고 나머지 URL이 필요합니다. 그래서 다음과 같이 작동하지 않을까요? – rksh

+0

@Rukshan 내 편집을 참조하십시오. – SomeKittens

+0

@SomeKittens URL에 'http : //'가 있으면 어떻게할까요? – salathe

0

인스턴스도 사용할 수 있습니다. [^http://]+$