ASCII-коды в $charlist
восьмеричные, а не десятичные.Таким образом, чтобы экранировать «>» (десятичное число: 62, восьмеричное: 76), используйте этот код:
$escaped = addcslashes($not_escaped, "\76");
Для диапазона используйте две точки, а не три ('a..z', а не 'a... г ').