2012-06-15 2 views
1
$titleadd = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1); 
$titleadd = str_replace('.php', '', $titleadd); 
$titleadd = str_replace('-', ' ', $titleadd); 

URL을 얻고 있는데, http://www.domain.com/을 제거하고 .php와 URL의 하이픈을 페이지 이름을 반향해서 바꿉니다.이 표현을 줄이는 방법이 있습니까?

그래서 www.google.com/my-page.php내 페이지

이 일의 짧은 방법이 있나요로 출력?

+2

실제로 작동합니까? 그 코드는 말이되지 않습니다. – Teekin

+0

str_replace는 배열을 가져올 수 있고 배열을 취할 수 있습니다 –

+0

그것은 훌륭합니다! 나는 그것의 끝에 $ titleadd를 출력한다. – GT22

답변

3

사용 사례에 대한 짧은 상당 물론

$titleadd = strtr(basename($_SERVER["SCRIPT_NAME"], ".php"), "-", " "); 

이 산업 등급 분석하지 않습니다, 그러나 그것은 원래의 코드로 좋은 결과를 제공해야합니다.

더 강력한 시도는 parse_url을 포함하지만, 사용자가 가지고있는 것보다 더 짧아지는 것은 거의 없습니다. 반면에 : 아마도 코드 길이가 올바른 통계가 아닙니다. 결국 foo() 뒤에 200 줄의 코드를 숨길 수 있으며 아무도 알 수 없습니다.

+0

그것은 아주 짧은 버전입니다! 고맙습니다. 나는 코드를 숨기려고하지 않습니다. 나는 단지 내가 가지고있는 것보다 조금 더 짧은 것을 원했다. "산업 등급"이 아니라는 것은 무엇을 의미합니까? 각 단어를 대문자로 표기 할 수 있습니까? 예 : ** 내 사이트 ** ** 내 사이트 ** – GT22

+0

@ GT22 : ['ucwords'] (http://php.net/manual/en/function. ucwords.php)는 라틴어 문자 만 처리하는 한 그렇게 할 것입니다. "산업 등급"이란 입력이 조금씩 변경되면 위의 코드가 제대로 작동하지 않을 수도 있음을 의미합니다. – Jon

0
echo str_replace('-', ' ', basename('www.google.com/my-page.php', '.php')); 
관련 문제