我想转换:
" Long Grain IRRI-6 White Rice "
至
" long_grain_irri_6_white_rice "
但它正在归还这个
" long_grain_irri-6_white_rice "
这是代码:
public function phpslug($string){
$slug = preg_replace('/[^a-z0-9-]+/', '_', strtolower($string));
return $slug;
}
我希望它不仅删除字母之间的空格,我还需要删除“ - ”这个,所以它可以替换为“_”。
我该如何解决这个问题?
您可以从RegEx模式中删除-
:
function phpslug($string)
{
$slug = preg_replace('/[^a-z0-9]+/', '_', strtolower(trim($string)));
return $slug;
}
var_dump(phpslug(" Long Grain IRRI-6 White Rice "));
或者您可以简化您的RegEx模式:
function phpslug($string)
{
$slug = preg_replace('/[-\s]+/', '_', strtolower(trim($string)));
return $slug;
}
var_dump(phpslug(" Long Grain IRRI-6 White Rice "));
string(28) "long_grain_irri_6_white_rice"