2012-05-06 3 views
2

Я пытаюсь изменить свои стили кодирования и привык к использованию filter_var($input,FILTER_SANITIZE_FULL_SPECIAL_CHARS). Я привык использовать другие параметры filter_var без труда.php 5.2 - FILTER_SANITIZE_FULL_SPECIAL_CHARS

В этом конкретном случае, однако, FILTER_SANITIZE_FULL_SPECIAL_CHARS может использоваться только в более поздних версиях php, чем тот, который использует мой хостинг-провайдер. Мы все еще находимся на php 5.2.17. Мой вопрос: как мне выполнить ту же задачу с той же надежностью, что и при использовании этого простого вызова функции filter_var?

ответ

3

Насколько я знаю, единственное решение, которое я мог бы предложить, заключается в следующем. До сих пор не уверен, если это функционально идентичны или нет, но мое тестирование показало, что работать так же ....

filter_var($input, FILTER_SANITIZE_STRING,FILTER_FLAG_ENCODE_AMP|FILTER_FLAG_ENCODE_HIGH|FILTER_FLAG_ENCODE_LOW); 

Примечание: При использовании более одного filter_var флаг, вы разделите каждый флаг после первого с трубой вместо запятой, или filter_vars перерывов .... Взял время, чтобы понять, что один из! :)

+0

Правильно, это побито "или"! –

+0

в соответствии с документацией, FILTER_SANITIZE_FULL_SPECIAL_CHARS является «эквивалентным вызову htmlspecialchars() с установкой ENT_QUOTES» - вы попробовали это? – ldg

Смежные вопросы