Fixed bug parsing multiline strings with 'escaped' newlines
parent
2665c60b2f
commit
2acb02cda9
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue