删除面包屑中的连字符

时间:2014-09-06 21:09:16

标签: php breadcrumbs

我在网站上使用了痕迹,但是想要显示没有连字号的路径名。 有人可以帮帮我吗?谢谢。

实施例: 从

Home / cambodja-informatie / algemeen / geografie

Home / cambodja informatie / algemeen / geografie

我的面包屑结构:

<?php
if($location = substr(dirname($_SERVER['PHP_SELF']), 1))
$dirlist = explode('/', $location);
else
$dirlist = array();

$count = array_push($dirlist, basename($_SERVER['PHP_SELF']));

$address = 'http://'.$_SERVER['HTTP_HOST'];

echo '<a href="'.$address.'">Home</a>';

for($i = 0; $i < ($count-1); $i++)
echo '&nbsp;/&nbsp;<a href="'.($address .= '/'.$dirlist[$i]).'">'.$dirlist[$i].'</a>';
?>

3 个答案:

答案 0 :(得分:4)

您需要为替换的内容和时间制定逻辑规则。根据您现在提供的信息,这就足够了:

str_replace('-', ' ', $dirlist[$i])

但是,如果你指的是荷兰语,那就是你网站的语言EHBO-cursus?这最终会成为语法错误的EHBO cursus。实际上你现在已经这样做了,cambodja informatie已经错了,应该保持cambodja-informatie,请参阅herehere

问题并不像你建议的解决方案那样微不足道。对于这种情况,您需要区分slug, ie. the standardized systematic name to be used in URLs标题,它用作显示字符串。您目前的解决方案在许多情况下都不会削减它。

答案 1 :(得分:1)

添加以下变量:

$name = str_replace("-", " ", $dirlist[$i]);

并称之为

echo '&nbsp;/&nbsp;<a href="'.($address .= '/'.$dirlist[$i]).'">'.$name.'</a>';

您实际上将目录列表称为名称,这就是为什么有连字符。 str_replace只是找到它并用空格替换它。

答案 2 :(得分:0)

strtr($dirlist[$i], '-', ' ');