修剪连续的重复字符

时间:2011-08-08 09:06:52

标签: php regex

所以我通过执行以下操作为我的网页创建网址:

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

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

基本上我将所有内容都设为小写,将&更改为and并将所有特殊字符更改为-。我现在唯一的问题是,如果$info->name this is - a stringthis-is---a-string,它将显示为this-is-a-string

我希望在没有像str_replace('---','-',$input);

之类的情况下成为{{1}}

我认为我需要一个正则表达式,但我对那些人很恐怖,所以我想知道是否有人可以帮助我。

1 个答案:

答案 0 :(得分:8)

更改

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

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