PHP Удалить URL-адрес: «недопустимые» символы из строки

Я прочитал все вопросы по этому вопросу и хотел бы знать, будет ли $str = preg_replace('/[^\00-\255]+/u', '', $str); достаточно для моего сценария.

Мой сценарий

Когда пользователь создает учетную запись на моем сайте, он вводит имя своей компании. Это может быть что угодно, включая текст с ' или " или даже некоторыми другими странными символами. Когда он создает учетную запись, мне нужно создать папку на моем сервере, чтобы он мог легко получить доступ к своей учетной записи без использования uniqids и т. Д.

Например, вы создаете учетную запись «Pet's Pet Shop & Washing» – мне нужно будет удалить все пробелы и символы, которые не будут разрешены в качестве URL-адреса. Поэтому в конце мне нужно иметь «peterspetshopwashing»,

Это значит, что вы можете получить доступ к своей учетной записи на странице «www.mydomain.com/peterspetshopwashing»

Related of "PHP Удалить URL-адрес: «недопустимые» символы из строки"

В настоящее время я использую эту функцию. Я доволен

 function url($url) { $url = preg_replace('~[^\\pL0-9_]+~u', '-', $url); $url = trim($url, "-"); $url = iconv("utf-8", "us-ascii//TRANSLIT", $url); $url = strtolower($url); $url = preg_replace('~[^-a-z0-9_]+~', '', $url); return $url; } 

он заменяет пробелы и другие нечетные символы - так результат будет peter-s-pet-shop-washing