php Регулярные выражения -- Удалить спецсимволы и лишние пробелы
Primary tabs
Пример валидации вводимых пользователем данных.
// достаём введённые пользователем данные
$enteredName = $request->get('name');
// заменяем на пустую строку (удаляем) все символы, кроме указанных (все буквы, цифры , пробелы и знак "-")
$name = preg_replace('/[^a-zA-ZА-Яа-я0-9-\s$]/u', '', $enteredName);
// заменяем на пустую строку (удаляем) все лишние пробелы (т.е, начиная со вторго, если они идут подряд)
$name= preg_replace('/\s{2,}/', ' ', $name);Также стоит обратить внимание на модификатор u: при использовании шаблон и целевая строка обрабатываются как UTF-8 строки.
Источники
- https://php.ru/forum/threads/udalenie-spec-simvolov.5593/
- http://www.cyberforum.ru/php/thread1212773.html
- http://www.php.su/articles/?cat=regexp&page=008
- Log in to post comments
- 4100 reads