Имеется регулярное выражение вида:
/[\0\x0B\t
\f\a&=+%#<>"~:`@\?\[\]\{\}\|\^'\\]/
Но вырезает не все символы. Остаются:
/ . ; № * ! ()
Не могу корректно доработать выражение на удаление и этих символов. Прошу помощи
Ответ
Можно пойти от обратного - вместо перечисления символов для удаления, в символьный класс можно записать символ отрицания ^, за которым перечислить набор символов, которые нужно оставить. Например, вам нужно удалить всё, кроме буквенных символов и цифр - тогда шаблон можно записать так: '~[^\pL\d]~u'. На php решение можно записать так:
$str = "\0\x0B\t
\fHe&=+%#
echo preg_replace('~[^\pL\d]~u', '', $str);
Результат:
Hello5678мир
Комментариев нет:
Отправить комментарий