正则表达式将网址转换为干净的页面标题

时间:2015-07-11 19:12:41

标签: php regex

我使用$_SERVER['REQUEST_URI']来获取此/res/about_us.php,我希望输出为About Us,我知道我可以使用preg_replace,这是正则表达式I我在挣扎。

到目前为止,我有这种可怜的尝试:

echo str_replace('.php', '', $uri);

在此之后我意识到我无法使用str_replace替换两个案例...所以我认为我需要preg_replace和regex,但不知道它是如何工作的,似乎无法通过Google找到类似的例子。

此致

2 个答案:

答案 0 :(得分:1)

如果没有正则表达式,您可以这样做:

// Get the filename, e.g., 'about_us'.
$filename = pathinfo($_SERVER['REQUEST_URI'], PATHINFO_FILENAME);
// Replace underscore with spaces and capitalise words
$title = ucwords(str_replace('_', ' ', $filename));

请参阅pathinfoucwords

答案 1 :(得分:0)

实际上,你可以通过传递一系列你想要替换的东西作为函数的第一个参数,用str_replace替换多个案例!像这样:

echo ucwords(str_replace(array('_', '-', '.php'), ' ', basename($uri)));

在数组中,您可以放置​​任何您想要替换的内容。