PHP 的 HERE Doc (EOT) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

PHP's HERE Doc (EOT) syntax highlighting discrepancy with forward slash on Sublime Text 3

我不熟悉 Sublime Text 3 如何使用语法高亮显示,例如,如果它完全依赖于主题,或者它是内置于主题 运行 的标准中,但在我的例子中,有一些语法突出显示使用 PHP 的 HERE 文档和正斜杠的差异。一旦出现正斜杠,ST3 就会认为以下所有代码都是该标记的一部分。

这是我可以解决的问题吗?

正斜杠语法突出显示差异

没有正斜杠和正确的语法突出显示

因为您的 HEREDOC 名为 JAVASCRIPT,Sublime Text 正在尝试将内容语法高亮显示为 JavaScript。

但是因为你包含了 HTML(<script>...</script> 标签),它突出显示不正确(它似乎认为它是一个正则表达式,因此 find/expect HEREDOC 结束,直到(它认为是)正则表达式。)。

解决方法是简单地更改您的代码,将 HEREDOC 命名为 HTML

<?php 
$inlineJS =
<<<HTML
    <script>
    $('ele').click(function(){
        // some code
    });
    </script>
HTML;
?>