有没有办法缩短这个表达方式?

时间:2012-06-15 11:31:56

标签: php

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

我正在获取网址,删除http://www.domain.com/,然后替换.php和网址中的任何连字符以回显网页名称。

所以 www.google.com/my-page.php 会输出为我的页面

有没有更短的方法呢?

2 个答案:

答案 0 :(得分:3)

您的用例的等效时间较短

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

当然,这不是工业级解析,但它应该与原始代码一样好。

更强大的尝试将涉及parse_url,但它最终会比你在那里更短。另一方面:也许代码长度不是正确的指标吗?毕竟,你可以隐藏foo()后面的200行代码,而且没有人知道。

答案 1 :(得分:0)

echo str_replace('-', ' ', basename('www.google.com/my-page.php', '.php'));