所以我通过执行以下操作为我的网页创建网址:
$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 string
为this-is---a-string
,它将显示为this-is-a-string
。
我希望在没有像str_replace('---','-',$input);
我认为我需要一个正则表达式,但我对那些人很恐怖,所以我想知道是否有人可以帮助我。
答案 0 :(得分:8)
更改
$uri = $info->id."-".preg_replace('/[^a-zA-Z0-9]/','-',$uri);
到
$uri = $info->id."-".preg_replace('/[^a-zA-Z0-9]+/','-',$uri);