php - Function to generate Friendly URL Strings is not removing Commas -


i have function returns me friendly url string.

public static function geturlfriendlystring($str) {        // convert spaces '-', remove characters not alphanumeric        // or '-', combine multiple dashes (i.e., '---') 1 dash '-'.        $_str = preg_replace("[-]", "-", preg_replace("[^a-z0-9-]", "",           strtolower(str_replace(" ", "-", $str))));        return substr($_str, 0, 40);     } 

anyway, if have example string:

"product vitamins, protein, , lot of stuff" 

the resulting string is:

"product-with-vitamins,-protein,-and-a-lot-of-good-stuff" 

as can see doesn't remove commas string :/ , knowledge regular expressions null.

you left out delimiters around regexp, used [ , ] delimiters. result, weren't being treated character class operators.

if want compress multiple - one, regexp /-+/, not [-].

public static function geturlfriendlystring($str) {    // convert spaces '-', remove characters not alphanumeric    // or '-', combine multiple dashes (i.e., '---') 1 dash '-'.    $_str = preg_replace("/-+/", "-", preg_replace("/[^a-z0-9-]/", "",       strtolower(str_replace(" ", "-", $str))));    return substr($_str, 0, 40); } 

Popular posts from this blog