@@ -34,20 +34,17 @@ public function GetHTMLTags(string $tag, string $html): array
34
34
*/
35
35
public function URLFriendly (string $ string ): string
36
36
{
37
- $ string = str_replace ('. ' , "" , $ string );
38
- $ string = str_replace ('! ' , "" , $ string );
39
- $ string = str_replace ('( ' , "" , $ string );
40
- $ string = str_replace (') ' , "" , $ string );
41
- $ string = str_replace (" " , "- " , $ string );
42
- $ string = str_replace ("\\" , "" , $ string );
43
- $ string = str_replace ("/ " , "" , $ string );
44
- $ string = str_replace ('" ' , "" , $ string );
37
+ // Remove unwanted characters
38
+ $ string = strtolower ($ string );
39
+ $ unwantedChars = ['. ' , '! ' , '( ' , ') ' , '\\' , '/ ' , '" ' , ' ' ];
40
+ $ string = str_replace ($ unwantedChars , ['' , '' , '' , '' , '' , '' , '' , '- ' ], $ string );
45
41
$ string = preg_replace ("`\[.*\]`U " , "" , $ string );
46
42
$ string = preg_replace ('`&(amp;)?#?[a-z0-9]+;`i ' , '- ' , $ string );
47
43
$ string = preg_replace ("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i " , "\\1 " , $ string );
48
- return strtolower (trim ($ string , '- ' ));
44
+ $ string = preg_replace ('~[^a-z0-9\-]+~ ' , '' , $ string );
45
+ $ string = preg_replace ('~-+~ ' , '- ' , $ string );
46
+ return trim ($ string , '- ' );
49
47
}
50
-
51
48
}
52
49
53
50
?>
0 commit comments