Плюсы:
Минусы:
def fix_floats(json, decimals=2, quote='"'):
pattern = r'^((?:(?:"(?:\\.|[^\\"])*?")|[^"])*?)(-?\d+\.\d{'+str(decimals)+'}\d+)'
pattern = re.sub('"', quote, pattern)
fmt = "%%.%df" % decimals
n = 1
while n:
json, n = re.subn(pattern, lambda m: m.group(1)+(fmt % float(m.group(2)).rstrip('0')), json)
return json
Проверьте create_function, он создает анонимную функцию из переданных строковых параметров, я не уверен в ее производительности, но это очень гибко...
Смотрите на мой инфикс для добавления постфикса примера, я думаю, что Вы могли портировать его на PHP с относительной простотой. Это только использует массив и некоторые переключатели. Никакие деревья. Стек только необходим для выполнения постфиксного результата.
Если я понимаю проблему правильно, Вы хотите, чтобы пользователи выписали функции в non-PHP, и затем иметь PHP интерпретируют его?
Если так, Вы могли просто взять их строку и заменить "лейтенанта"" <" и "gt" с">"... затем делают оценку ().
У меня есть догадка, проблема не это простое, но если это, оценка () могла бы сделать задание. Конечно, затем Вы открываете себя для любого вида нападения.