Я ищу php-функцию, которая будет принимать входную строку и вернуть ее очищенную версию, удалив все специальные символы, оставив только буквенно-числовые.
Мне нужна вторая функция, которая делает то же самое, но возвращает только буквы алфавита AZ.
Любая помощь очень ценится.
Внимание: обратите внимание, что английский не ограничивается только AZ.
Попробуйте удалить все, кроме az, AZ и 0-9:
$result = preg_replace("/[^a-zA-Z0-9]+/", "", $s);
Если ваше определение буквенно-цифровых символов включает буквы на иностранных языках и устаревшие скрипты, вам нужно будет использовать классы символов Unicode.
Попробуйте это оставить только AZ:
$result = preg_replace("/[^AZ]+/", "", $s);
Причиной предупреждения является то, что слова типа резюме содержат букву é
, которая не будет соответствовать этому. Если вы хотите сопоставить определенный список букв, настройте регулярное выражение, чтобы включить эти буквы. Если вы хотите совместить все буквы, используйте соответствующие классы символов, как указано в комментариях.
Вместо preg_replace
вы всегда можете использовать функции фильтрации PHP с помощью функции filter_var()
с FILTER_SANITIZE_STRING
.