Rick Pasotto wrote:
On Thu, Aug 09, 2007 at 02:39:51PM -0700, Jim Lucas wrote:
Rick Pasotto wrote:
Does php have a facility similar to python's stringIO?
What I'm wanting to do is similar to a mail merge. IOW, I know I can
create an include file like:
$out = <<<EOT
This is an example of $var1 and $var2.
EOT;
and then after assigning values to $var1 and $var2 include that file. I
can later use different values for $var1 and $var2 and get a different
$out with a second include.
Can I someout "include" a string instead of a file? Or maybe there is
some completely different way to do what I want.
template.php
<?php

ob_start();
echo "Hi, my name is {$first_name} {$last_name}.";
return ob_get_clean();

?>


This is two different ways you can do it, bases on your input data array structure

test.php

<?php

$string = 'Hi, my name is |FIRST_NAME| |LAST_NAME|.';

$values = array();
$values[] = array('FIRST_NAME' => 'Jim',     'LAST_NAME' => 'Lucas');
$values[] = array('FIRST_NAME' => 'James',   'LAST_NAME' => 'Lucas');
$values[] = array('FIRST_NAME' => 'Jimmy',   'LAST_NAME' => 'Lucas');

foreach ( $values AS $row ) {

        $in = array_keys($row);

        foreach ( $in AS $k => $v )
                $in[$k] = '|'.$v.'|';

        echo str_replace($in, $row, $string);

}

?>


You have misunderstood. You are still putting the template in an
external file. I want it in the main file. I don't want to maintain
two different files.





--
Jim Lucas

   "Some men are born to greatness, some achieve greatness,
       and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
    by William Shakespeare

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to