2011-08-08 51 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