In article <[EMAIL PROTECTED]>,
 [EMAIL PROTECTED] (John A. Grant) wrote:

> I tried this code:
>     <?php
>      function somefunc($text,$n)
>      {
>         for($i=0;$i<$n;$i++){
>             echo $text;
>         }
>     }
>     $string='xxx <?php somefunc("yyy",3); ?> zzz';
>     eval($string);
>     ?>
> 
> but I get
> "Parse error:  parse error in eval.php(11) : eval()'d code on line 1

eval() treats the passed argument as if it were inline PHP code.  You're 
effectively doing this:

    <?php
   function somefunc($text,$n)
     {
        for($i=0;$i<$n;$i++){
            echo $text;
        }
    }
     xxx <?php somefunc("yyy",3); ?> zzz 
    ?>

So the extra set of PHP tags is a problem, and xxx and zzz must both be 
valid code (i.e. terminating statements with semi-colons, concatenating 
strings with a period...)

I'm guessing what you really want is:

eval('somefunc("yyy",3);')

In that case, you could use a regex to extract the portion of your text 
string that's enclosed by PHP tags.

-- 
CC

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to