1
0
Fork 0

Fixed bug parsing multiline strings with 'escaped' newlines

pull/1919/head
David Simon 2013-05-21 16:29:25 -04:00
parent 2665c60b2f
commit 2acb02cda9
1 changed files with 1 additions and 1 deletions

View File

@ -115,7 +115,7 @@ class ClassMapGenerator
// strip heredocs/nowdocs // strip heredocs/nowdocs
$contents = preg_replace('{<<<\'?(\w+)\'?(?:\r\n|\n|\r)(?:.*?)(?:\r\n|\n|\r)\\1(?=\r\n|\n|\r|;)}s', 'null', $contents); $contents = preg_replace('{<<<\'?(\w+)\'?(?:\r\n|\n|\r)(?:.*?)(?:\r\n|\n|\r)\\1(?=\r\n|\n|\r|;)}s', 'null', $contents);
// strip strings // strip strings
$contents = preg_replace('{"[^"\\\\]*(\\\\.[^"\\\\]*)*"|\'[^\'\\\\]*(\\\\.[^\'\\\\]*)*\'}', 'null', $contents); $contents = preg_replace('{"[^"\\\\]*(\\\\.[^"\\\\]*)*"|\'[^\'\\\\]*(\\\\.[^\'\\\\]*)*\'}s', 'null', $contents);
// strip leading non-php code if needed // strip leading non-php code if needed
if (substr($contents, 0, 2) !== '<?') { if (substr($contents, 0, 2) !== '<?') {
$contents = preg_replace('{^.+?<\?}s', '<?', $contents); $contents = preg_replace('{^.+?<\?}s', '<?', $contents);