Допустим, у меня есть:
$string = 'qwe1ASD@';
if(preg_match('/^[a-zA-Z]+$/', $string))
{
echo 'OK';
}
else
{
echo 'BAD';
}
Теперь, есть ли простое решение, чтобы найти все символы из $ string, которые не соответствуют выражению?Так что взамен вместо «ПЛОХОГО» я хочу иметь бывшего."ПЛОХО. Вы не можете использовать следующие символы: 1 @"
Заранее благодарим за любые простые советы!:)
Спасибо, Флёрн, твой ответ лучше всего отвечает моим потребностям.У него есть только один «preg», поэтому он также хорош для производительности.Еще раз спасибоЯ реализовал это сейчас следующим образом:
if(preg_match_all('/[^a-zA-Z0-9]/s', $string, $forbidden))
{
$forbidden = implode('', array_unique($forbidden[0]));
echo 'BAD. Your string contains forbidden characters: '.htmlentities($forbidden).'';
}