我有一个奇怪的编码情况,我需要让URI成为正在查看的页面的标题。我想不出另一种方法,但现在我需要格式化URI,无法弄清楚如何实现它。它是一个WordPress站点,因此URI非常干净。我想要做的是将第一个单词的字母大写,然后用空格,破折号或管道分隔符来分隔标题。
所以这显然给了我URI:
<title><?php echo ($_SERVER['REQUEST_URI']) ?></title>
这给了我/ test-catalog / diagnosis / flu这样的东西。我想要展示的是测试目录 - 诊断 - 流感
谢谢。
答案 0 :(得分:2)
我想这会起作用:
echo ucwords(str_replace(Array("-","/"),Array(" "," - "),$_SERVER['REQUEST_URI']);
答案 1 :(得分:1)
使用str_replace和ucwords
echo ucwords(str_replace('/', ' - ', str_replace('-', ' ', $_SERVER['REQUEST_URI'])));
答案 2 :(得分: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)
答案 3 :(得分: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));
答案 4 :(得分:0)
作为之前答案的简历:
echo ucwords(str_replace(array("-","/"),array(" "," - "),substr($_SERVER['REQUEST_URI'], 1)));