I'm using Sublime Text with the Pastels on Dark theme. My language of choice is PHP. How can I get HTML syntax highlighting inside PHP strings & heredoc syntax?
3 Answers
Name your heredocs after the language you are using. This will syntax highlight in many text editors, including Sublime Text.
For example:
echo <<<HTML
<!-- put HTML here and it will have syntax highlighting -->
HTML;
3 Comments
Glyph
I also just realized you can use {$myAry['subIdx']} to put any kind of variable into your heredoc syntax. Function calls can't be placed inside them but you can set the return value to a variable before the heredoc, then use that.
Moseleyi
Also works in VSCode. Amazing!
mandy1339
Thank you. I really wanted to use heredoc for PHP in VSCode due to the convenience of it but was turned off by the lack of syntax highlighting and code hints. You are the man!
Just code outside of php so you can still see the HTML syntax color-coded, and then put that html inside the php once you are done.
1 Comment
Glyph
Thanks for the suggestion, but "done" isn't something that really every happens to code at this company. There are always more modifications to be made.
Wanted to add this as a comment to Ol' Reliable's answer but I am not allowed yet.
Whilst coding outside and then copying in can be a hassle, for people/editors without syntax highlighting in heredoc, an easy workaround is to temporarily add a closing php tag to the heredoc opening tag:
<?php
$myHtmlCode = <<<HTML?>
<h1>I am Highlighted</h1>
<p>Remove the closing php tag above to finish editing</p>
HTML;
?>
<?phpblocks, where it gets syntax-highlighted properly..