我正在使用这个功能。一切都很好,但当我输入项目标题,如。"example - A digital product" it shows me in url slug example---a-digital-product...这里example这个词后面有3个 hiphen连续。请帮助解决。
public function item_slug($string){
$slug=preg_replace(array('/[^A-Za-z0-9 -]+/','/[ -]+/'), array('',''),$string);
return $slug;
}
你可以在第二个替换中使用连字符来替换1个或多个出现的空格或连字符,你可以用以下方法来替换 [ -]+
用一个连字符。
示例代码。
function item_slug($string){
return preg_replace(array('/[^A-Za-z0-9 -]+/','/[ -]+/'), array('','-'),$string);
}
$strings = [
"example---a-digital-product..",
"Example - A digital product"
];
foreach ($strings as $str) {
echo item_slug($str) . PHP_EOL;
}
输出
example-a-digital-product
Example-A-digital-product