diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index a367c2acb82da..48e001883f57c 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2441,7 +2441,7 @@ inline_char_handler: RETURN_OR_SKIP_TOKEN(T_COMMENT); } -"?>"{NEWLINE}? { +"=?>"|("?>"{NEWLINE}?) { BEGIN(INITIAL); if (yytext[yyleng-1] != '>') { CG(increment_lineno) = 1; diff --git a/tests/lang/closing_tag_001.phpt b/tests/lang/closing_tag_001.phpt new file mode 100644 index 0000000000000..789373500c14f --- /dev/null +++ b/tests/lang/closing_tag_001.phpt @@ -0,0 +1,6 @@ +--TEST-- +Closing tag without trailing newline +--FILE-- + without trailing newline +--EXPECT-- +Closing tag without trailing newline diff --git a/tests/lang/closing_tag_002.phpt b/tests/lang/closing_tag_002.phpt new file mode 100644 index 0000000000000..c5197653c58af --- /dev/null +++ b/tests/lang/closing_tag_002.phpt @@ -0,0 +1,7 @@ +--TEST-- +Closing tag with trailing newline +--FILE-- + + with trailing newline +--EXPECT-- +Closing tag with trailing newline diff --git a/tests/lang/closing_tag_003.phpt b/tests/lang/closing_tag_003.phpt new file mode 100644 index 0000000000000..cfbbb52d9b99a --- /dev/null +++ b/tests/lang/closing_tag_003.phpt @@ -0,0 +1,8 @@ +--TEST-- +Closing tag with keeping trailing newline +--FILE-- + + with keeping trailing newline +--EXPECT-- +Closing tag + with keeping trailing newline