diff --git a/i18n_string/i18n_string.module b/i18n_string/i18n_string.module index c1a9e6f..15ff41f 100644 --- a/i18n_string/i18n_string.module +++ b/i18n_string/i18n_string.module @@ -503,7 +503,17 @@ function i18n_string_format($string, $options = array()) { $options += array('langcode' => i18n_langcode(), 'format' => FALSE, 'sanitize' => TRUE, 'cache' => FALSE); // Apply format and callback if ($string) { - if ($options['format'] && $options['sanitize']) { + if ($options['format'] == 'filter_xss_admin' && $options['sanitize']) { + $string = filter_xss_admin($string); + } + else if ($options['format'] == 'filter_xss' && $options['sanitize']) { + if (!empty($options['allowed_tags'])) { + $string = filter_xss($string, $options['allowed_tags']); + } + else { + $string = filter_xss($string); + } + else if ($options['format'] && $options['sanitize']) { $string = check_markup($string, $options['format'], $options['langcode'], $options['cache']); } if (isset($options['callback'])) {