2014-09-06 63 views
-1

我在我的網站上使用麪包屑,但希望顯示沒有連字符的路徑名。 有人可以幫我嗎?謝謝。刪除麪包屑中的連字符

例子: 從

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>'; 
?> 

回答

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標題,它用作顯示字符串。您目前的解決方案在許多情況下不會削減它。

+0

好的解釋 - 注意,在行結尾丟失';'。 – Dan 2014-09-06 21:16:13

+0

@Dan故意,它的意思是在最後一行的連接中替換第二個'。$ dirlist [$ i] .'。 – 2014-09-06 21:16:54

+0

好的,理解! – Dan 2014-09-06 21:17:11

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

如何解釋一下? – Dan 2014-09-06 21:14:21

1

添加以下變量:

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

,並調用它像這樣

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

你的實際調用directorylist的名稱,這就是爲什麼有一個連字符。 str_replace只是找到它並用空格替換它。