Ограничить символы, используемые в строке - PullRequest
1 голос
/ 15 июня 2010

Как ограничить строку символами из белого списка?

// "HOW am I to understand; this is, BAD"

$str = restrictTo($str,"0-9a-z,. ");

// " am I to understand this is, "

Есть ли в PHP встроенная функция, которая что-то закрывает?Я не могу сформулировать регулярное выражение для этого, хотя: (

1 Ответ

2 голосов
/ 15 июня 2010

Хорошо, если вы просто хотите заменить символы, используйте preg_replace (Обратите внимание, вы можете добавить любой символ с несколькими кавиатами.

  1. Если вы хотите добавить -, он ДОЛЖЕН быть в конце списка
  2. Если вы хотите добавить \, он ДОЛЖЕН быть экранирован другим \
  3. Если вы хотите /, [ или ], его необходимо экранировать с помощью \)

Это разрешает определенные символы и отфильтровывает остальные:

$str = preg_replace('/[^A-Za-z,.]/', '', $str);

Если вы хотите отклонить любую строку, в которой есть любой символ, который не соответствует:

if (preg_match('/[^A-Za-z.,]/', $str)) {
    //Rejected String
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...