htmlspecialchars (), похоже, переводит специальные символы, подобные следующему: āķūņūķī в соответствующий номер объекта:
ā ķ ū ņ ū ķ ī
Хотя некоторые остаются непереведенными, например:
žš
Я бы хотел, чтобы htmlspecialchars()
(или какая-либо другая функция) не переводил эти символы алфавитного типа ... Чтобы он переводил только следующее (как, кажется, указывает на руководство по php.net):
- '&' (амперсанд) преобразуется в ''
- '"' (двойные кавычки) превращается в '', если ENT_NOQUOTES не установлен.
- «'» (одинарная кавычка) становится «»' только тогда, когда установлена ENT_QUOTES.
- '‹' (меньше чем) становится ''
- '>' (больше чем) становится ''
Причина, по которой мне это нужно, заключается в том, что после запроса POST я запускаю этот пользовательский ввод через htmlspecialchars()
, прежде чем помещать его обратно в новый набор входных html. Такие символы, как &, ", ',‹,>, должны быть переведены, чтобы не вызывать ошибок отображения и т. Д. Но мне нужны специальные символы, такие как' āķūņūķī ' остаются без изменений, иначе пользователь будет очень запутан.
htmlspecialchar()
s 3-й параметр поддерживает кодировку, возможно, это поможет. - person ccKep   schedule 08.05.2012