Мне нужно поведение по умолчанию (например, ENT_COMPAT | ENT_HTML401
) PHP-функции htmlspecialchars()
в C, как это делается лучше всего (что означает самый быстрый) в C?Быстрая повторная реализация функции htmlspecialchars PHP в C
Мне не нужна входная строка, поэтому возможно решение на месте.
Это очень простая функция, он просто преобразует эти символы:
'&' -> '&'
'"' -> '"'
'<' -> '<'
'>' -> '>'
Какая стратегия была бы быстрее? Зацикливание каждого символа в отдельности и создание выходного буфера по байтам, переписывание входной строки на месте или какое-либо другое решение?
Выделяют выход с два раза размер вашего ввода, а затем при необходимости измените его размер. –
Кроме того, вы можете просто проверить фактическую [реализацию] (http://lxr.php.net/xref/PHP_5_6/ext/standard/html.c#1226) этой функции php. –
Самая быстрая реализация зависит от типичных входных характеристик. Является ли ваш типичный ввод несколькими частями символов или документами размером с гигабайт? Как часто кодируются объекты? У вас есть ограничения памяти? –