Re: string as file
| From: | Stut | Date: | Fri, 10 Aug 2007 15:28:18 +0000 |
| Subject: | Re: string as file | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-260590@lists.php.net to get a copy of this message | ||
Rick Pasotto wrote:
On Fri, Aug 10, 2007 at 02:19:29PM +0100, Stut wrote:Your original post asked... "Can I someout "include" a string instead of a file?" That's exactly what eval does. As for what you would pass to it... PHP code maybe? Have you even tried it? The manual page for eval has several examples of how to use it, and the comments have even more.Rick Pasotto wrote:I did. That's why I rejected the use of eval() before I posted the message. eval() is totally unsuitable for what I want. Unless, that is, you or Greg can explain how using eval() will get me what I want. I think that neither you nor Greg understands what I'm looking for. Instead of simply stating 'RTFM' perhaps *you* should RTFQuestion.On Thu, Aug 09, 2007 at 03:25:27PM -0500, Greg Donald wrote:RTFM, that's what it's there for.On 8/9/07, Rick Pasotto <rick@niof.net> wrote:Explain. One word responses really don't do any good. Exactly *what* would be the argument to eval()?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.eval()
Use regular expressions or straight string replacements - that's the best way to implement mail-merge type behaviour. Personally I used preg_replace with the 'e' modifier. For an example see, shockingly, the manual page for preg_replace. Now "go stick your head in a pig". -Stut -- http://stut.net/Incidentally, eval is evil and potentially a giant security hole. You'd be better off doing replacements with preg_match rather than executing a string.Agreed. That's another reason I had already rejected it. Although in this case, since I would have full control of all the variables, it would probably be ok.