我编写了这段代码来为链接准备一个标题,但我认为它有点笨重,我想知道是否有人对正则表达式有更好的理解,是否能够减少以下函数(通过合并相关的 preg_replaces)。我需要它来去除所有当前的连字符,去除多个空格,确保除了替换空格的连字符之外它只是字母数字,用单个连字符替换所有空格并确保字符串不以连字符开头:
function prepareURLTitle($title)
{
return preg_replace("/\A-/", "", str_replace(" ", "-", preg_replace("/[^a-zA-Z0-9\s]/", "", preg_replace('/\s\s+/', ' ', preg_replace('/\s?-/', '', $title)))));
}
输入示例及其输出:
输入:
全新 - 手套,2 件装//此处有多个空格,但块引用不允许我显示它们
输出:
全新手套 2 件装