ID: 26463 Updated by: [EMAIL PROTECTED] Reported By: andrey at midphase dot com -Status: Open +Status: Assigned Bug Type: Scripting Engine problem Operating System: Windows XP PHP Version: 4.3.4 -Assigned To: +Assigned To: iliaa
Previous Comments: ------------------------------------------------------------------------ [2003-11-29 10:10:59] andrey at midphase dot com Sorry, actual content of test.php is <?php $tokens=token_get_all(file_get_contents("code.php")); print_r($tokens); ?> ------------------------------------------------------------------------ [2003-11-29 10:08:04] andrey at midphase dot com Description: ------------ When calling token_get_all with a string containing heredoc strings, T_END_HEREDOC element contains two semicolons separated by newline and is followed by semicolon character. This does not happen if heredoc string is followed by concatenation operatior Reproduce code: --------------- ===================== code.php ===================== <?php $x=<<<DD jhdsjkfhjdsh DD .""; $a=<<<DD jhdsjkfhjdsh DD; echo $a; ?> ===================== test.php ===================== <?php $tokens=token_get_all(file_get_contents("test.php")); print_r($tokens); ?> Expected result: ---------------- Array ( [0] => Array ( [0] => 354 [1] => <?php ) [1] => Array ( [0] => 357 [1] => ) [2] => Array ( [0] => 307 [1] => $x ) [3] => = [4] => Array ( [0] => 358 [1] => <<<DD ) [5] => Array ( [0] => 312 [1] => ) [6] => Array ( [0] => 305 [1] => jhdsjkfhjdsh ) [7] => Array ( [0] => 312 [1] => ) [8] => Array ( [0] => 359 [1] => DD ) [9] => . [10] => Array ( [0] => 313 [1] => "" ) [11] => ; [12] => Array ( [0] => 357 [1] => ) [13] => Array ( [0] => 307 [1] => $a ) [14] => = [15] => Array ( [0] => 358 [1] => <<<DD ) [16] => Array ( [0] => 312 [1] => ) [17] => Array ( [0] => 305 [1] => jhdsjkfhjdsh ) [18] => Array ( [0] => 312 [1] => ) [19] => Array ( [0] => 359 [1] => DD; ) /* [20] => ; deleted */ [21] => Array ( [0] => 357 [1] => ) [22] => Array ( [0] => 314 [1] => echo ) [23] => Array ( [0] => 357 [1] => ) [24] => Array ( [0] => 307 [1] => $a ) [25] => ; [26] => Array ( [0] => 357 [1] => ) [27] => Array ( [0] => 356 [1] => ?> ) ) Actual result: -------------- Array ( [0] => Array ( [0] => 354 [1] => <?php ) [1] => Array ( [0] => 357 [1] => ) [2] => Array ( [0] => 307 [1] => $x ) [3] => = [4] => Array ( [0] => 358 [1] => <<<DD ) [5] => Array ( [0] => 312 [1] => ) [6] => Array ( [0] => 305 [1] => jhdsjkfhjdsh ) [7] => Array ( [0] => 312 [1] => ) [8] => Array ( [0] => 359 [1] => DD ) [9] => . [10] => Array ( [0] => 313 [1] => "" ) [11] => ; [12] => Array ( [0] => 357 [1] => ) [13] => Array ( [0] => 307 [1] => $a ) [14] => = [15] => Array ( [0] => 358 [1] => <<<DD ) [16] => Array ( [0] => 312 [1] => ) [17] => Array ( [0] => 305 [1] => jhdsjkfhjdsh ) [18] => Array ( [0] => 312 [1] => ) [19] => Array ( [0] => 359 [1] => DD; ; ) [20] => ; [21] => Array ( [0] => 357 [1] => ) [22] => Array ( [0] => 314 [1] => echo ) [23] => Array ( [0] => 357 [1] => ) [24] => Array ( [0] => 307 [1] => $a ) [25] => ; [26] => Array ( [0] => 357 [1] => ) [27] => Array ( [0] => 356 [1] => ?> ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=26463&edit=1