| 
<?php/**
 * This file is an example of an application with Snippet class.
 * Distribution is intended for education / studying purposes only.
 *
 * Copyright [2020] [Wim Niemans <[email protected]>]
 */
 
 include './Snippet.class.php';
 /**
 * @author  wim niemans, Rotterdam, Bonn
 * @license EUPL
 */
 
 $snippet = new Snippet();
 
 /**
 * substitute variables in text recusively with their respective values
 * syntax: {var} where var  is [text]{var}[text]
 *               where text is '-._[\w\d\]'
 *
 * below examples should all output 'The quick brown fox jumps over the lazy dog.'
 */
 
 // (1) demo simple replacements
 $snippet->setVar('pangram', 'The {speed} {color} fox {action} over the lazy {pet}.');
 $snippet->setVar('speed',  'quick');
 $snippet->setVar('color',  'brown');
 $snippet->setVar('action', 'jumps');
 $snippet->setVar('pet',    'dog');
 $snippet->parse('output', 'pangram');
 echo '-1- ' . $snippet->tidy('output') . " \n";
 
 // (2a) demo nimble replacements of varValues
 $snippet->setVar('pangram', 'The {1} {2} fox {3} over the lazy {4}.');
 $snippet->setVar('1', '{speed}');
 $snippet->setVar('2', '{color}');
 $snippet->setVar('3', '{action}');
 $snippet->setVar('4', '{pet}');
 $snippet->parse('output', 'pangram');
 echo '-2- ' . $snippet->tidy('output') . " \n";
 
 // (3) demo recursive replacements of varValues
 $snippet->setVar('pangram', 'The {{1}} {{2}} fox {{3}} over the lazy {{4}}.');
 $snippet->setVar('1', 'speed');
 $snippet->setVar('2', 'color');
 $snippet->setVar('3', 'action');
 $snippet->setVar('4', 'pet');
 $snippet->parse('output', 'pangram');
 echo '-3- ' . $snippet->tidy('output') . " \n";
 
 // (4) demo nimble recursive replacements
 $snippet->setVar('pangram', 'The {{br}eed} {col{umn}} fox {ac{et}on} over the lazy {{idol}}.');
 $snippet->setVar('br',   'sp');
 $snippet->setVar('umn',  'or');
 $snippet->setVar('et',   'ti');
 $snippet->setVar('idol', 'pet');
 $snippet->parse('output', 'pangram');
 echo '-4- ' . $snippet->tidy('output') . " \n";
 
 // (5) demo gotchas still working
 $snippet->setVar('pangram', 'The {{br}{own}} {col{umn}} fox {action} over the lazy {{p}e{t}}.');
 $snippet->setVar('own', 'eed');
 $snippet->setVar('p',   'p');
 $snippet->setVar('t',   't');
 $snippet->parse('output', 'pangram');
 echo '-5- ' . $snippet->tidy('output') . " \n";
 
 $snippet->clear();
 
 // (6) demo -1- replacement of global variables
 $snippet->setVar('pangram', 'The {$speed} {$color} fox {$action} over the lazy {$pet}.');
 $speed  = 'quick';
 $color  = 'brown';
 $action = 'jumps';
 $pet    = 'dog';
 $snippet->parse('output', 'pangram');
 echo '-6- ' . $snippet->tidy('output') . " \n";
 
 // (7) demo -2- replacement of (recursive) global variables
 $snippet->setVar('pangram', 'The {speed} {color} fox {action} over the lazy {pet}.');
 $snippet->setVar('speed',  '{$speed}');
 $snippet->setVar('color',  '{$color}');
 $snippet->setVar('action', '{$action}');
 $snippet->setVarData('pet',    '{$pet}');
 $snippet->parse('output', 'pangram');
 echo '-7- ' . $snippet->tidy('output') . " \n";
 
 ?>
 |