Функция обрабатывает и отдает данные по-умолчанию преобразуя HTML-символы
в мнемоники и делая безопасным использование данных пользователей для вывода данных на странице сайта.
Синтаксис: htmlAccess($str='', $htmlspecialchars=true, $safe=true)
$str - текст который нужно обработать
$htmlspecialchars - применяет функцию htmlspecialchars к тексту + заменяет символ доллара на его мнемоник
$safe - делает текст безопасным отключая в нем возможность использовать конструкции {~~}
Примеры
// к примеру имеем 2 текстовые переменные:
$name = 'Петя';
$text = 'Миллион $ получил <b>победитель</b> {~$name~}';
// обработаем наши данные функцией htmlAccess:
echo htmlAccess($text);// выводит: Миллион $ получил <b>победитель</b> {<!---->~$name~}
echo htmlAccess($text, false);// выводит: Миллион $ получил <b>победитель</b> {<!---->~$name~}
echo htmlAccess($text, true, false);// выводит: Миллион $ получил <b>победитель</b> {~$name~}
Если применяете strip_tags
то применяйте функцию htmlAccess после применения функции strip_tags, например так:
echo htmlAccess( strip_tags($text) );// выводит: Миллион $ получил победитель {<!---->~$name~}
неправильное применение:
echo strip_tags( htmlAccess($text) );// выводит: Миллион $ получил победитель {~$name~}
function htmlAccess($str='', $htmlspecialchars=true, $safe=true){
if($str){
if($htmlspecialchars){
$str = str_replace('$','$', htmlspecialchars($str));
}
if($safe){// тильду обрабатываем после htmlspecialchars т.к. если перед, то <!----> превратится в мнемоники
$str = str_replace('{~', '{<!---->~', $str);
}
return $str;
}
}
|