3 * patTemplate modfifier Surround
5 * $Id: Surround.php 440 2008-03-30 09:00:16Z fishbone $
8 * @subpackage Modifiers
9 * @author Stephan Schmidt <schst@php.net>
13 * patTemplate modfifier Surround
15 * splits a text and surrunds each part by custom start and end strings
17 * Possible attributes are:
18 * - delimiter (string)
21 * - keepdelimiter (yes|no) default: no
22 * - withfirst (yes|no) default: yes
23 * - withlast (yes|no) default: yes
26 * @package patTemplate
27 * @subpackage Modifiers
28 * @author gERD Schaufelberger <gerd@php-tools.net>
31 class patTemplate_Modifier_Surround extends patTemplate_Modifier
38 * @return string modified value
40 function modify( $value, $params = array() )
48 if( isset( $params['delimiter'] ) )
50 $delimiter = $params['delimiter'];
53 if( isset( $params['start'] ) )
55 $start = $params['start'];
58 if( isset( $params['end'] ) )
60 $end = $params['end'];
63 // append the delimiter?
64 if( isset( $params['keepdelimiter'] ) && $params['keepdelimiter'] === 'yes' )
69 $split = explode( $delimiter, $value );
70 $value = implode( $end . $start, $split );
73 if( !isset( $params['withfirst'] ) || $params['withfirst'] !== 'no' )
75 $value = $start . $value;
79 if( !isset( $params['withlast'] ) || $params['withlast'] !== 'no' )