Index: Zend/zend_language_scanner.l =================================================================== RCS file: /repository/ZendEngine2/zend_language_scanner.l,v retrieving revision 1.131.2.11.2.13.2.9 diff -u -r1.131.2.11.2.13.2.9 zend_language_scanner.l --- Zend/zend_language_scanner.l 22 Mar 2008 17:59:52 -0000 1.131.2.11.2.13.2.9 +++ Zend/zend_language_scanner.l 22 Mar 2008 20:12:19 -0000 @@ -1643,13 +1643,15 @@ } -b?"<<<"{TABS_AND_SPACES}{LABEL}{NEWLINE} { +b?"<<<"{TABS_AND_SPACES}["]?{LABEL}["]?{NEWLINE} { char *s; int bprefix = (yytext[0] != '<') ? 1 : 0; + int quotes = (yytext[3] == '"') ? 2 : 0; + int lquote = (quotes == 2) ? 1 : 0; CG(zend_lineno)++; - CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+bprefix+3; + CG(heredoc_len) = yyleng-bprefix-quotes-3-1-(yytext[yyleng-2]=='\r'?1:0); + s = yytext+bprefix+3+lquote; while ((*s == ' ') || (*s == '\t')) { s++; CG(heredoc_len)--;