Double single quotes in php code become single single quotes and causes the eval of $content in function shortcode to break.
[php] $string = "foops"; $string = preg_replace( "/p.*/", '', $string); echo $string; [/php]
This throws an unexpected $end error. Changing the single quotes to double quotes fixes the error, and "foo" will be echoed.