2013-07-24 86 views
0

使用下面的代碼狀態欄示出的HTML代替PHP在sublimetext2

<?php 


function copy_taxonomy_menu() { 
$items = array(); 

$items['admin/content/taxonomy/copy_question'] = array(
'title' => t('Copy Question'), 
'access callback' =>'user_access', 
'page callback' => 'drupal_get_form,' 
'page arguments' => array('copy_taxonomy_page'), 
'description' => t('Copy taxonomy from one content to another '), 
'type' => MENU_NORMAL_ITEM, 
); 
?> 

語法被選擇爲PHP但狀態欄一個新的PHP文件在底部仍顯示HTML。這裏有什麼問題?

+0

它可能只是在編輯器中顯示錯誤。點擊「HTML」會彈出一個語言列表,並選擇「PHP」。此外,快速範圍檢查顯示應用於整個文件的語法是HTML。 PHP被列爲嵌入式作用域。除非它爲你打破了一些功能,否則我會忽略它。 – skuroda

回答

2

如果你去Preferences > Browse Packages... > HTML和開放HTML.tmLanguage,你可以看到這行:

<key>firstLineMatch</key> 
<string>&lt;!(?i:DOCTYPE)|&lt;(?i:html)|&lt;\?(?i:php)</string> 

這意味着,如果你的文件,(不區分大小寫)<!doctype<html<?php開始,語法將被定義爲HTML。如果這是你的問題,你可以編輯<string>上面:

<key>firstLineMatch</key> 
<string>&lt;!(?i:DOCTYPE)|&lt;(?i:html)</string> 
+0

它沒有工作 –

+0

嘗試關閉該文件,關閉並重新打開崇高文本重新加載您的插件和包。然後重新打開文件進行測試。我在這裏做了這個測試,語法改爲PHP。如果您安裝了HTML5軟件包,也許您需要對'HTML5.tmLanguage'文件進行相同操作。 – thiagobraga

+0

謝謝@thiagobraga –