-2

我有一个奇怪的编码情况,我需要让 URI 成为正在查看的页面的标题。我想不出另一种方法来做到这一点,但现在我需要格式化该 URI 并且无法弄清楚如何完成它。这是一个 WordPress 网站,所以 URI 非常干净。我想要做的是将第一个单词的字母大写,然后用空格、破折号或竖线分隔符来分隔标题。

所以这显然给了我URI:

<title><?php echo ($_SERVER['REQUEST_URI']) ?></title>

这给了我类似 /test-catalog/diagnosis/flu 的信息。我要显示的是测试目录 - 诊断 - 流感

谢谢你。

4

5 回答 5

2

我想这会起作用:

echo ucwords(str_replace(Array("-","/"),Array(" "," - "),$_SERVER['REQUEST_URI']);
于 2012-10-10T14:18:31.183 回答
1

通过使用 str_replace 和 ucwords

例子

echo ucwords(str_replace('/', ' - ', str_replace('-', ' ', $_SERVER['REQUEST_URI'])));

于 2012-10-10T14:19:01.153 回答
1

几件事要做:

$url = str_replace("-"," ",$url);  // convert the - to spaces (do this first)
$url = str_replace("/"," - ",$url);  // convert the / to hyphens with spaces either side

$title = ucfirst($url);            // capitalize the first letter

如果要将每个字母大写,请执行以下操作:

$title = ucwords($url);            // capitalize first letter of each word

你可能有一些空白开始和结束,所以这样做:

$title= trim($title)
于 2012-10-10T14:20:31.860 回答
1
// remove the first slash '/'
$uri = substr($_SERVER['REQUEST_URI'], 1);
// ucwords to uppercase any word
// str_replace to replace "-" with " " and "/" with " - "
echo ucwords(str_replace(array("-","/"),array(" "," - "),$uri));

键盘

于 2012-10-10T14:21:58.927 回答
0

作为之前答案的简历:

echo ucwords(str_replace(array("-","/"),array(" "," - "),substr($_SERVER['REQUEST_URI'], 1)));
于 2012-10-10T14:25:19.753 回答