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

我得到的網址,刪除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'));