UltraEdit supports multi-language syntax highlighting only for HTML files including server based HTML files like PHP, JSP, ASP, etc.
To enable the multi-language syntax highlighting you must have the language definition for HTML with the keyword HTML_LANG in the definition line and all possible file extensions. In the standard wordfile.txt of v12 of UE you can see:
/L3"HTML" HTML_LANG Nocase Noquote Block Comment On = <!-- Block Comment Off = --> File Extensions = HTM HTML SHTML HTT HTA HTX CFM JSP PHP PHTML ASP
It's important that no other language definition in the same wordfile has the keyword HTML_LANG.
You see at the language definition line above that PHP is associated with HTML and not with the PHP language definition.
In the standard wordfile.txt (or in later UE versions in *.uew files in the wordfiles directory) you can see also following definitions:
/L4"Java" JAVA_LANG Line Comment = // Block Comment On = /* Block Comment Off = */ Escape Char = \ File Extensions = JAV JAVA
/L5"Perl" PERL_LANG Line Comment = # Line Comment Preceding Chars = [~[^]^^$/\(] Escape Char = \ File Extensions = CGI PL PM PLX
/L8"PHP" PHP_LANG Nocase EnableMLS Line Comment = // Line Comment Alt = # Block Comment On = /* Block Comment Off = */ Escape Char = \ String Chars = "' File Extensions = INC PHP3 PHP4
/L10"VBScript Active Server Pages" ASP_LANG Nocase Line Comment = ' Line Comment Alt = REM Block Comment On = /* Block Comment Off = */ Block Comment On Alt = <!-- Block Comment Off Alt = --> String Chars = " File Extensions =
/L11"CSS" CSS_LANG Nocase Noquote Block Comment On = /* Block Comment Off = */ File Extensions = CSS
The important keywords are the *_LANG keywords listed also in syntax.txt in the UltraEdit program directory. Each of this keyword has to exist only once in the wordfile.
If you open a HTML, PHP, ... file UltraEdit/UEStudio first applies the HTML language highlighting. If it founds the code for an other language within this file, it highlights this part with the appropriate language settings defined by the *_LANG keyword. The codes for another language are built-in in uedit32.exe and cannot be defined. As PHP and JS programmer you should know these codes.
<!-- HTML code -->
<!-- HTML code -->