我在网站上使用了痕迹,但是想要显示没有连字号的路径名。 有人可以帮帮我吗?谢谢。
实施例: 从
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 ' / <a href="'.($address .= '/'.$dirlist[$i]).'">'.$dirlist[$i].'</a>';
?>
答案 0 :(得分:4)
您需要为替换的内容和时间制定逻辑规则。根据您现在提供的信息,这就足够了:
str_replace('-', ' ', $dirlist[$i])
但是,如果你指的是荷兰语,那就是你网站的语言EHBO-cursus
?这最终会成为语法错误的EHBO cursus
。实际上你现在已经这样做了,cambodja informatie
已经错了,应该保持cambodja-informatie
,请参阅here和here。
问题并不像你建议的解决方案那样微不足道。对于这种情况,您需要区分slug, ie. the standardized systematic name to be used in URLs和标题,它用作显示字符串。您目前的解决方案在许多情况下都不会削减它。
答案 1 :(得分:1)
添加以下变量:
$name = str_replace("-", " ", $dirlist[$i]);
并称之为
echo ' / <a href="'.($address .= '/'.$dirlist[$i]).'">'.$name.'</a>';
您实际上将目录列表称为名称,这就是为什么有连字符。 str_replace只是找到它并用空格替换它。
答案 2 :(得分:0)
strtr($dirlist[$i], '-', ' ');