我正在编写我所理解的相当标准的PHP/HTML代码。在PHP中模仿受Rails启发的粗糙RESTful架构。我的页面包含许多动态生成的链接,其结构如下:
<a href='objects_list.php?coursekey=<? echo $coursekey; ?>&delete_section=<?
echo $row['key']; ?>'>delete</a>
正如您所看到的,链接有两个URL变量,每个变量都是基于页面所知道的PHP变量设置的。很普通,对吧?
我最近转到Sublime Text 2作为我的主要开发环境。我觉得这太棒了,我的开发过程也有了很大的改进。但是Sublime的语法高亮显示似乎被任何链接中分隔URL变量的符号(&)弄糊涂了。它用红色突出显示每个"与"符号,好像在想我犯了一个错误。
知道为什么吗?有什么方法可以让Sublime认识到链接中经常需要有与符号?
EDIT:无论链接href中是否包含PHP片段,都会发生这种情况。Sublime似乎不信任链接中的符号。。。?
在href
属性中,与号字符应该由其HTML实体&
表示,否则HTML验证器会抱怨。Sublime Text将没有实体的单个&
正确标记为错误。
另请参阅在HTML href/src属性中应该对与号(&)旁边的其他哪些字符进行编码?以及我是否在<a href>?
正如Marcel Korpel所指出的,用&
代替&
通常是个好主意,但使用angular之类的东西时会很痛苦。您可以通过编辑sublime_directory/Packages/HTML.sublime-package/HTML.tmLanguage
来删除突出显示非法与号的规则并注释这些行(搜索ampersand
就可以了)
<dict>
<key>match</key>
<string>&</string>
<key>name</key>
<string>invalid.illegal.bad-ampersand.html</string>
</dict>
重新启动"崇高"以查看效果。在Sublime Text 3 上测试