2011-08-08 49 views
4

對我的網頁通過執行以下操作所以我創建URL:修剪連續重複的字符

$uri = strtolower($info->name); 
$uri = str_replace('&','and',$uri); 

$uri = $info->id."-".preg_replace('/[^a-zA-Z0-9]/','-',$uri); 

基本上我做的一切小寫,改變&and和更改所有特殊字符的-。我現在唯一的問題,如果例如$info->namethis is - a string它將顯示爲this-is---a-string

謹以此成爲this-is-a-string沒有做這樣的事情str_replace('---','-',$input);

我想,我需要這樣的正則表達式,但我在那,所以我在想,如果可怕有人能幫助我。

回答

8

變化

$uri = $info->id."-".preg_replace('/[^a-zA-Z0-9]/','-',$uri); 

$uri = $info->id."-".preg_replace('/[^a-zA-Z0-9]+/','-',$uri); 
+0

哇,我沒想到它會是這麼簡單。我需要學習更好地搜索:)乾杯! - 將在可能時接受 – Kokos