Hi, i have a template system where the user can define some multilangual
defines, identified by {Label[My_define_name]} in the template.

Its one of the way i figured to go around the probleme of multilangual
websites.

Ok the function below parse the template and gets all the
{Lang[My_deifne]} and the My_define.

My probleme is that i need to return the value of my define and not its
name. My eval doesnt seem to work.

Any body as a sugestion , or a better way to do this without passing by
eval . 

Thanks

--------------
function ParseLabel(){
   
preg_match_all("/\{(Label)*\[([-A-Za-z_]*)]\}/",$this->GetTemplateString(),$out);

    $j = count($out[2]);
    for($i=0;$i<$j;$i++){
        if(!defined($out[2][$i])){

            $error_message = str_replace("{tag}", $out[0][$i],
NoMatchingLangLiteral);
           
$this->_err->ErrorHandler(NoMatchingLangLiteralErrorNumber,$error_message,__FILE__,__LINE__);
        }else{
            $to_replace[] = $out[0][$i];
        --------->
            $replace_by[] = eval("echo \$out[2][$i];");
        <--------
        }
    }
    $this->ReplaceTag($to_replace,$replace_by);
}
-----------




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

Reply via email to