修改preg replace以清除所有符号

时间:2014-02-18 19:58:37

标签: php preg-replace preg-match

我试图通过他的功能获得烫发链接:

    // Generates Permalink

function gen_permalink($title)
{
    $permalink=string_limit_words($title, 9);

if(!mb_check_encoding($permalink,"UTF-8"))
    {
        $permalink=preg_replace("/[^a-z0-9\s]/i", "", $permalink);
        $permalink=trim(preg_replace("/\s\s+/", " ", $permalink));
        $permalink=strtolower(str_replace(" ","-",$permalink));
    }
else
    {
        $permalink=trim($title);
        $permalink=str_replace(" ","-",$permalink);
    }
    $final = $permalink;
    $count = 1;
    while(already_exists($final))
    {
        $final = $permalink . "-" . $count;
        $count++; 
    }
    return $final;

但我无法做到这一点......

输出
  

!它的SO   滑稽!   块引用

  

!its's-SO-有趣!

我想要

  

ITSS那么有趣

1 个答案:

答案 0 :(得分:0)

如果你只想来自

!its's-SO-funny!itss-so-funny

你可以在回来之前做这样的事情:

$final = strtolower(preg_replace('/[^0-9a-zA-Z-]/','',$final));

删除除字母数字或符号-之外的所有字符,并将所有字符设为小写。