function ifwpsn_twig_wordwrap_filter(IfwPsn_Vendor_Twig_Environment $env, $value, $length = 80, $separator = "\n", $preserve = false) { $sentences = array(); $previous = mb_regex_encoding(); mb_regex_encoding($env->getCharset()); $pieces = mb_split($separator, $value); mb_regex_encoding($previous); foreach ($pieces as $piece) { while (!$preserve && mb_strlen($piece, $env->getCharset()) > $length) { $sentences[] = mb_substr($piece, 0, $length, $env->getCharset()); $piece = mb_substr($piece, $length, 2048, $env->getCharset()); } $sentences[] = $piece; } return implode($separator, $sentences); }
/** * Returns a capitalized string. * * @param IfwPsn_Vendor_Twig_Environment $env A IfwPsn_Vendor_Twig_Environment instance * @param string $string A string * * @return string The capitalized string */ function ifwpsn_twig_capitalize_string_filter(IfwPsn_Vendor_Twig_Environment $env, $string) { if (null !== ($charset = $env->getCharset())) { return mb_strtoupper(mb_substr($string, 0, 1, $charset), $charset) . mb_strtolower(mb_substr($string, 1, mb_strlen($string, $charset), $charset), $charset); } return ucfirst(strtolower($string)); }