On Wed, Jul 29, 2009 at 6:47 PM, Daniel Kolbo<kolb0057@xxxxxxx> wrote: > Jonathan Tapicer wrote: >> Use eval, like this: >> >> eval('$str_expanded = "' . str_replace('"', '\\"', $str) . '";'); >> >> The str_replace is used because you could have a " inside $str and it >> would break the string, if you are sure the $str has no " inside you >> can omit it. >> >> Jonathan >> >> On Wed, Jul 29, 2009 at 5:43 PM, Daniel Kolbo<kolb0057@xxxxxxx> wrote: >>> Hello, >>> >>> Is it possible to force a string to expand variable names after the >>> string has been set and before the variable's been defined without >>> having to do a string replace or preg_replace? >>> >>> for example, >>> <?php >>> $str = "some string and some \$var plus other stuff"; >>> echo $str."<br />"; >>> $var = "Variable Contents"; >>> echo $str."<br />"; >>> $str_expanded = $str;//would like this to expand $var into $str_expanded >>> echo $str_expanded."<br />"; >>> ?> >>> >>> Thanks, >>> dK >>> ` >>> >>> -- >>> PHP General Mailing List (http://www.php.net/) >>> To unsubscribe, visit: http://www.php.net/unsub.php >>> >>> >> > nice! > > This would allow me to have $str loaded with all kinds of variables and > not have to do a str_replace with each (assuming the quote business is cool) > > Why did you have the double \\? >> eval('$str_expanded = "' . str_replace('"', '\\"', $str) . '";'); > Isn't the following equivalent? > eval('$str_expanded = "' . str_replace('"', '\"', $str) . '";'); > > Thanks, > dK > ` > Yes, it's the same, you can use only one \ in that case, sometimes you have to escape if it is followed by a character that needs to be escaped, for example you can't do echo '\'; you should do echo '\\'; Jonathan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php