Нужно изменить регулярное выражение, чтобы учесть специальные символы - PullRequest
2 голосов
/ 10 июня 2009

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

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

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

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

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

Любая помощь будет высоко ценится.

1 Ответ

4 голосов
/ 10 июня 2009
RewriteRule ^([\[\]=,\?&@~\{\}\+'\.*!™`A-Za-z0-9_-]+)$ profile.php?ID=$1 [QSA,L]

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

...