Будьте осторожны, как вы это делаете. Экранирование HTML - это задача output , а не то, что вы хотите делать с данными, которые не собираетесь немедленно печатать на странице.
Я думаю, что это выглядит довольно явно с такими вещами, и действительно отделяет фильтрацию контента от экранирования контента.
// First, get the tags as an array, filtered to be valid data
$tags = array_map( 'filterTag', explode( ',', $_GET['tags'] ) );
// Do whatever other processing with $tags
// NOW, create a version of the tags that you'll use for display only
// or do this step ONLY just prior to display
$tagsSafeForHtml = array_map( 'escapeForHtml', $tags );
function filterTag( $tag )
{
// Use whatever combination of filtering functions you want
return trim( strip_tags( $value ) );
}
function escapeForHtml( $value )
{
// Use whatever escaping strategy that makes most sense for your content
return htmlspecialchars( $value, ENT_COMPAT, 'UTF-8' );
}