2012-06-15 40 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'));