?
Path : /home/admin/public_html/old/board/libraries/pattemplate/patTemplate/Modifier/ |
Current File : /home/admin/public_html/old/board/libraries/pattemplate/patTemplate/Modifier/Truncate.php |
<?php /** * patTemplate modifier Truncate * * Truncate a string variable to fixed length and add a suffix if it was truncated. * It can also start from an offset and add a prefix. * * @package patTemplate * @subpackage Modifiers * @author Rafa Couto <rafacouto@yahoo.com> */ // Check to ensure this file is within the rest of the framework defined('JPATH_BASE') or die(); /** * patTemplate modifier Truncate * * Truncate a string variable to fixed length and add a suffix if it was truncated. * It can also start from an offset and add a prefix. * * Possible attributes are: * - length (integer) * - suffix (string) * - start * - prefix (string) * * @package patTemplate * @subpackage Modifiers * @author Rafa Couto <rafacouto@yahoo.com> */ class patTemplate_Modifier_Truncate extends patTemplate_Modifier { /** * modify the value * * @access public * @param string value * @return string modified value */ function modify($value, $params = array()) { // length if (!isset( $params['length'])) { return $value; } settype($params['length'], 'integer'); $decode = isset( $params['htmlsafe'] ); if (function_exists( 'html_entity_decode' ) && $decode) { $value = html_entity_decode( $value ); } // start if (isset($params['start'])) { settype( $params['start'], 'integer' ); } else { $params['start'] = 0; } // prefix if (isset($params['prefix'])) { $prefix = ($params['start'] == 0 ? '' : $params['prefix']); } else { $prefix = ''; } // suffix if (isset($params['suffix'])) { $suffix = $params['suffix']; } else { $suffix = ''; } $initial_len = strlen($value); $value = substr($value, $params['start'], $params['length']); if ($initial_len <= strlen($value)) { $suffix = ''; } $value = $prefix.$value.$suffix; return $decode ? htmlspecialchars( $value, ENT_QUOTES ) : $value; } } ?>