php - 分解面包屑中的连字符

标签 php html css breadcrumbs

我的脚本几乎完全符合我的意愿,但我需要删除连字符。

它使用我网站的页面生成面包屑,但我需要它来执行此操作

Home > Aaa bbb ccc > Aaa bbb

代替

Home > Aaa-bbb-ccc > Aaa-bbb

我知道我需要使用 PHP explode() 函数,但我似乎无法弄清楚将它放在哪里。

<?php
function breadcrumbs($separator = ' > ', $home = 'Home') {

$path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
$base_url = substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/')) . '://' . $_SERVER['HTTP_HOST'] . '/';
$breadcrumbs = array("<a href=\"$base_url\">$home</a>");
$tmp = array_keys($path);
$last = end($tmp);
unset($tmp);

foreach ($path as $x => $crumb) {
$title = ucwords(str_replace(array('.php', '_'), array('', ' '), $crumb));
if ($x == 1){
$breadcrumbs[]  = "<a href=\"$base_url$crumb\">$title</a>";
}elseif ($x > 1 && $x < $last){
$tmp = "<a href=\"$base_url";
for($i = 1; $i <= $x; $i++){
$tmp .= $path[$i] . '/';
}
$tmp .= "\">$title</a>";
$breadcrumbs[] = $tmp;
unset($tmp);
}else{
$breadcrumbs[] = "$title";
}
}

return implode($separator, $breadcrumbs);
}
echo breadcrumbs();

?>

最佳答案

只需扩展您必须要做的:

$title = ucwords(str_replace(array('.php', '_', '-'), array('', ' ', ' '), $crumb));

关于php - 分解面包屑中的连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24785028/

相关文章:

php - 如何确保特定帖子的用户仅点击一次我的投票链接?

java - Sendmail.php 网络表单发送空白电子邮件

php - Laravel 5.1 电子邮件 View 和模板

html - CSS 外部文件不起作用

javascript - 如何从列表表 tr 中获取值

css - css 中的 2 个字体文件,一个有效,另一个无效

css - Bootstrap 4 : Full width collapsible navbar with different color to main navbar

javascript - 如何突出显示单词或字母作为搜索中的用户输入?

php - 数据库中 HTML 的正确格式

jquery - 在firefox中点击刷新网页样式是乱码?