function linebreaks($value, $autoescape = False) { $value = normalize_newlines($value); $paras = preg_split("~\n{2,}~", $value); if ($autoescape) { $paras_ = array(); foreach ($paras as $p) { $paras_[] = '<p>' . str_replace("\n", '<br />', escape($p)) . '</p>'; } } else { $paras_ = array(); foreach ($paras as $p) { $paras_[] = '<p>' . str_replace("\n", '<br />', $p) . '</p>'; } } return join("\n\n", $paras_); }
$lib->filter('escape', function ($value) { return mark_for_escaping($value); }, array('is_safe' => True)); //stringfilter $lib->filter('force_escape', function ($value) { return mark_safe(escape($value)); }, array('is_safe' => True)); //stringfilter $lib->filter('linebreaks', function ($value, $autoescape = null) { $autoescape = $autoescape && !$value instanceof SafeData; return mark_safe(linebreaks($value, $autoescape)); }, array('is_safe' => True, 'needs_autoescape' => True)); //stringfilter $lib->filter('linebreaksbr', function ($value, $autoescape = null) { $autoescape = $autoescape && !$value instanceof SafeData; $value = normalize_newlines($value); if ($autoescape) { $value = escape($value); } return mark_safe(str_replace("\n", '<br />', $value)); }, array('is_safe' => True, 'needs_autoescape' => True)); //stringfilter $lib->filter('safe', function ($value) { return mark_safe($value); }, array('is_safe' => True)); $lib->filter('safeseq', function ($value) { $s_ = array(); foreach ($value as $i_) { $s_[] = mark_safe($i_); } return $s_;