Вот регулярное выражение, где заменяет все пробелы и точки - но без одинарных и двойных кавычек.regex для удаления одиночных и двойных кавычек
$name = htmlspecialchars(trim(@$_POST["name"],' '),ENT_QUOTES);
$url = preg_replace("![^a-zA-Z0-9]+!i", "-", strtolower(htmlspecialchars(@$_POST["name"],ENT_QUOTES)));
Что вы хотите сказать? – minghan