Как обнаружить некоторые символы типа «$ #% @ * & $!» из строки в php?

0

У меня есть вход для пользователя. если я хочу обнаружить некоторые символы, которые находятся в таком массиве, как этот $array = array('#','%','^') так есть ли какая-либо встроенная функция в php для этого? который возьмет массив и вернет true или false.

Теги:

2 ответа

0
Лучший ответ

array_intersect может вам помочь - например

$array = array('#','%','^');

if(array_intersect(str_split($username), $array)) {
    echo "Found";
} else {
    echo "Not Found";
}
  • 0
    Спасибо .. как раз то, что я хочу ... @Chris Wheeler
1

Самый простой способ:

if (str_replace($array, '', $username) != $username) {
  do something;
}

Конечно, вы можете написать свою собственную функцию:

function contains_unallowed($array = ['#', '%', '^']) {
  return str_replace($array, '', $username) != $username;
}

Он принимает массив символов в качестве необязательного параметра и возвращает true или false. Если это не сработает, замените квадратные скобки [] на array().

  • 0
    Большое спасибо! .. это тоже работает .. и [] означает массив в php5.5 + верно?
  • 0
    Да, именно это новая функция.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню