75 lines
1.5 KiB
PHP
75 lines
1.5 KiB
PHP
|
|
<?PHP
|
||
|
|
/**
|
||
|
|
* patTemplate modfifier Wordwrapper
|
||
|
|
*
|
||
|
|
* $Id: Wordwrapper.php 10381 2008-06-01 03:35:53Z pasamio $
|
||
|
|
*
|
||
|
|
* @package patTemplate
|
||
|
|
* @subpackage Modifiers
|
||
|
|
* @author Stephan Schmidt <schst@php.net>
|
||
|
|
*/
|
||
|
|
|
||
|
|
// Check to ensure this file is within the rest of the framework
|
||
|
|
defined('JPATH_BASE') or die();
|
||
|
|
|
||
|
|
/**
|
||
|
|
* patTemplate modfifier Wordwrapper
|
||
|
|
*
|
||
|
|
* Wraps lines of long texts.
|
||
|
|
*
|
||
|
|
* Possible attributes are:
|
||
|
|
* - width (integer)
|
||
|
|
* - break (string)
|
||
|
|
* - cut (yes|no)
|
||
|
|
* - nl2br (yes|no)
|
||
|
|
*
|
||
|
|
* See the PHP documentation for wordwrap() for
|
||
|
|
* more information.
|
||
|
|
*
|
||
|
|
* @package patTemplate
|
||
|
|
* @subpackage Modifiers
|
||
|
|
* @author Stephan Schmidt <schst@php.net>
|
||
|
|
* @link http://www.php.net/manual/en/function.wordwrap.php
|
||
|
|
*/
|
||
|
|
class patTemplate_Modifier_Wordwrapper extends patTemplate_Modifier
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* modify the value
|
||
|
|
*
|
||
|
|
* @access public
|
||
|
|
* @param string value
|
||
|
|
* @return string modified value
|
||
|
|
*/
|
||
|
|
function modify( $value, $params = array() )
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* width
|
||
|
|
*/
|
||
|
|
if( !isset( $params['width'] ) )
|
||
|
|
$params['width'] = 72;
|
||
|
|
settype( $params['width'], 'integer' );
|
||
|
|
|
||
|
|
/**
|
||
|
|
* character used for linebreaks
|
||
|
|
*/
|
||
|
|
if( !isset( $params['break'] ) )
|
||
|
|
$params['break'] = "\n";
|
||
|
|
|
||
|
|
/**
|
||
|
|
* cut at the specified width
|
||
|
|
*/
|
||
|
|
if( !isset( $params['cut'] ) )
|
||
|
|
$params['cut'] = 'no';
|
||
|
|
|
||
|
|
$params['cut'] = ($params['cut'] === 'yes') ? true : false;
|
||
|
|
|
||
|
|
$value = wordwrap( $value, $params['width'], $params['break'], $params['cut'] );
|
||
|
|
|
||
|
|
if( isset( $params['nl2br'] ) && $params['nl2br'] === 'yes' )
|
||
|
|
$value = nl2br( $value );
|
||
|
|
|
||
|
|
return $value;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
?>
|