Подтвердить что ты не робот

Функция возвращает только буквенно-цифровые символы из строки?

Я ищу php-функцию, которая будет принимать входную строку и вернуть ее очищенную версию, удалив все специальные символы, оставив только буквенно-числовые.

Мне нужна вторая функция, которая делает то же самое, но возвращает только буквы A-Z.

Любая помощь очень ценится.

4b9b3361

Ответ 1

Предупреждение. Обратите внимание: английский не ограничивается только A-Z.

Попробуйте this удалить все, кроме a-z, A-Z и 0-9:

$result = preg_replace("/[^a-zA-Z0-9]+/", "", $s);

Если ваше определение буквенно-числовой буквы включает буквы на иностранных языках и устаревшие скрипты, вам нужно будет использовать классы символов Unicode.

Попробуйте this оставить только A-Z:

$result = preg_replace("/[^A-Z]+/", "", $s);

Причиной предупреждения является то, что слова типа резюме содержат букву é, которая не будет соответствовать этому. Если вы хотите сопоставить определенный список букв, настройте регулярное выражение, чтобы включить эти буквы. Если вы хотите совместить все буквы, используйте соответствующие классы символов, как указано в комментариях.

Ответ 2

Вместо preg_replace вы всегда можете использовать функции фильтра PHP с помощью функции filter_var() с FILTER_SANITIZE_STRING.