php preg_match как запретить такие символы как \ / : * ? " ' < > |

73
11 декабря 2021, 06:10

Привет помогите с preg_match в php как написать выражение что бы не содержались символы такие как

\ / : * ? " ' < > |

напишите решение пожалуйста.

Я написал данное выражение

if (preg_match("/[\/\:\*\?\"\'\<\>\|]/", $nickname)) echo 'Запрещённые символы';

но оно пропускает такие символы как

\ " < >

помогите пожалуйста.

Буду очень благодарен.

Answer 1

Слишком много экранирования там где не нужно и нет экранирования там где нужно.

Вам нужно заэкранировать два символа \ и символ кавычки

if (preg_match('~[\\\/:*?"\'<>|]~', $str))
  echo 'Alert';
READ ALSO
filemtime(): stat failed for

filemtime(): stat failed for

Пытаюсь получить время последнего изменения html-файлов для скрипта, генерирующего карту сайта

86
Как подставить значение?

Как подставить значение?

Как получить данные из формы для подстановки в запрос? Здравствуйте

192
Блокирует и не отправляются заявки

Блокирует и не отправляются заявки

По отправке форм, обращается программа через ajax к php файлу:

116
Как подключить файл стилей к определенной странице на WordPress?

Как подключить файл стилей к определенной странице на WordPress?

Например, у меня есть главная страница, на которой должен быть подключен только maincss, а на странице товара product-page

226