从文本中移除除点,文本,数字,空格之外的所有内容

时间:2014-10-23 08:26:03

标签: php

我有以下代码

 function title($str, $sep=' ')
    {
            $res = strtolower($str);
            $res = preg_replace('/[^[:alnum:]]/', ' ', $res);
            $res = preg_replace('/[[:space:]]+/', $sep, $res);
            return trim($res, $sep);
    }

以上代码删除了偶数点,例如

$string = title("software[2012] v1.2");

结果software v1 2。但我想要software v1.2

1 个答案:

答案 0 :(得分:0)

我已更改正则表达式

第一个([^\w\s.])将删除任何不是字符,数字,空格或点的内容。
第二个(\s+)将用您的分隔符替换所有空格。

function title($str, $sep=' ')
{
    $res = strtolower($str);
    $res = preg_replace('/[^\w\s.]/', ' ', $res);
    $res = preg_replace('/\s+/', $sep, $res);
    return trim($res, $sep);
}