Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP syntax error T_ENCAPSED_AND_WHITESPACE

i'm starting to work with php basics and i have some problem understanding how mix code with strings.

I found a great and useful style to print string blocks but i don't know the name and i'm not able to find examples.

the code below return me the error:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /web/htdocs/food/user/index.php on line 120

<?php   
$html_str = <<<STR
    <li><img alt="hello" src="$path_images/pencil.png"/><a title="hello" href="$path_pages/$page/action">Details</a></li>

STR;
print $html_str;
?>

can someone help me to find where i'm wrong and the name of this syntax style?

thanks v

like image 648
vitto Avatar asked Jun 19 '26 08:06

vitto


1 Answers

I've found the problem!
in the example I've posted it can't return the error:

Working code

<?php
$str = <<<STRING
hello! this is a working string<br/>
and i can do too many things with heredoc syntax!
STRING;

print $str;
?>

Not working code

<?php
     $str = <<<STRING
     syntax error!<br/>
     syntax error!<br/>
     why?
     STRING;

     print $str;
?>

The problem are the tabs before the close tag STRING; which are considered part of tag, so the close tag is not interpreted "STRING;" but "        STRING;", that's why it doesn't work.

hope it come usefull for someone else.

like image 160
vitto Avatar answered Jun 20 '26 21:06

vitto



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!