Необходимо изменить регулярное выражение, чтобы разрешить использование специальных символов

StackOverflow https://stackoverflow.com/questions/974489

Вопрос

У меня есть следующий фрагмент кода в моем htaccess, который позволит идентификатору пользователя быть только буквенно-цифровым и включать символы подчеркивания и дефисы:

RewriteRule ^([A-Za-z0-9_-]+)$ profile.php?ID=$1 [QSA,L]

Недавно я импортировал более 1000 имен пользователей с платформы социальной сети, которая позволяла именам пользователей содержать специальные символы, но эта новая платформа, на которую я перенес имена пользователей, этого не сделает.

Как я мог бы отредактировать это регулярное выражение, чтобы включить следующие специальные символы:

[ ] = , ? & @ ~ { } + ' . * ! ™ ` (and spaces).

Любая помощь была бы высоко оценена.

Это было полезно?

Решение

RewriteRule ^([\[\]=,\?&@~\{\}\+'\.*!™`A-Za-z0-9_-]+)$ profile.php?ID=$1 [QSA,L]

Все говорит само за себя.Просто включите все символы с экранированием, если они являются специальными символами регулярного выражения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top