Я пытаюсь использовать регулярные выражения для проверки ввода от пользователя, я хочу разрешить любую букву в алфавите, цифры, пробелы и следующие символы:
! £ $% & * () _ + []:; @ ~ # <>? . -
Я никогда не был так хорош в регулярных выражениях, поскольку это чертовски смущает меня. Это лучшее, что у меня есть, но оно не работает должным образом, потому что если я поставлю? в поле получаю ошибку.
<?php
$title = $_POST['title'];
if (!preg_match('/\/^[a-zA-Z0-9\s!£$%&*()_+[\]:;@~#<>?,.-]+$\//m', $title)) {
$error = "Photo name contains unsafe characters.";
$solution = "<a href=\"javascript:history.go(-1)\">Try again?</a>";
}
if ($error) { echo("$error");
?>
Почему я всегда неправильно понимаю эти регулярные выражения, просто когда я думаю, что начинаю понимать, я скоро понимаю, что на самом деле это не так! : P
Если кто-нибудь может мне помочь и, возможно, объяснить, почему мой пример не работает, чтобы я мог учиться на своих ошибках, которые были бы очень благодарны, спасибо!