Netbeans PHP/JavaScript语法高亮

4

我一直在寻找解决NetBeans(7.1.1)中PHP和Javascript混合代码高亮错误的方法。我也使用Notepad++,它没有这个问题。

示例:

function showUpload<?php echo $upload;?>(file) { /* JS-code */ }

或者:

$('.option-help').qtip({
    content: function(api) { return $(this).parent().attr('data-tip'); },
<?php if ($help == 'icon') { ?>
    show: { event: 'click' },
<?php } ?>
    position: { my: 'bottom left', at: 'top left', of: $(this) }
});

我找到了一些解决方法,但我拒绝为我的集成开发环境更改代码! (IDE 应该帮助我编写代码,而不是让事情变得更加困难)

有人知道这个问题的实际解决方案吗?


同样的问题在这里,zappo。 - Lucian Depold
2个回答

4
如果您在文件中只使用JavaScript + PHP组合(没有HTML),只需打开要突出显示JavaScript语法的文件,然后添加以下行:
//<script type="text/javascript">

在打开第一个PHP标签之前,将其置于页面顶部,就像这样:

//<script type="text/javascript">
<?php
/*The rest of the code..*/
?>

这个文件中的所有JavaScript代码都应该得到正确的高亮显示。

如果在文件中间有HTML代码,您需要在HTML代码之前关闭JavaScript标签,在HTML代码之后重新打开它,像这样:

//<script type="text/javascript">
<?php
/*The rest of the code..JavaScript + PHP*/

//</script>
<h1>HTML code</h1><!--HTML code only-->
<p>Bla bla..</p>
//<script type="text/javascript">

/*JavaScript + PHP code again*/

?>

如果您不希望这些注释被打印到最终的HTML文档中,您可以在文档顶部创建一个虚假的PHP函数,仅供IDE使用,而您自己永远不会使用它,如下所示:

<?php
function higlightJavaScriptCode(){
    ?>
    //<script type="text/javascript">
    <?php
}
/*The rest of the code..*/
?>

你真是个救星!非常感谢你写这篇文章,不用再盯着一大块黄色的JS代码了,真是解脱啊! - jerclarke

0

@gradosevic 上面已经说得很好了,我只会添加自己的超紧凑版本,不会输出任何内容到浏览器:

// Fix Netbeans' jQuery highlighting in mixed PHP/JS. See https://dev59.com/xWLVa4cB1Zd3GeqPy7az#21440810
function higlightJavaScriptCode(){?>//<script type="text/javascript"><?php }

我想唯一的问题是每个项目只能有一个,否则你就必须开始给它们命名空间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接