Из имен файлов, рекурсивно в текущем каталоге, мне нужно удалить все «иностранные» символы (китайский, амхарикский, санскрит, акцентированный / диакритический знак ЕС, более экзотические … и т. д.), кроме следующих «разрешенных» символов:
a-zA-Z0-9.-_=~
Сценарий ниже застревает и отображает предупреждения с ???
на месте иностранных персонажей.
<?php
$dir = "getcwd()";
$files = scandir($dir);
function clean($string) {
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);
}
?>
Любые намеки, пожалуйста? PHP. Командная строка Windows.
Пример желаемого ввода / вывода:
abcወውልውABñC.ext
abcABC.ext
Задача ещё не решена.
Других решений пока нет …