diff --git a/data/languages/php/highlight.xml b/data/languages/php/highlight.xml
index 592d664..a5cc8cf 100644
--- a/data/languages/php/highlight.xml
+++ b/data/languages/php/highlight.xml
@@ -1,36 +1,60 @@
-
+
.*\.(php|php3|php4|phtml)
-
- comment
- /\*.*?\*/
+
+ commentDoxygen
+ /\*(\*|!)(.|\r|\n)*?\*/
+ doxyparse
-
+
+ comment
+ /\*(.|\r|\n)*?(\*/|\0)
+ TODO
+
+
SYNTAX_ERROR
- //[ \t]*TODO[ \t]*:(.|\\[\\\n])*?$
+ /\*(.|\r|\n)*
-
+
+ preprocesseur
+ #[ \t]*if 0(.|\r|\n)*?#(endif|else)
+
+
+ SYNTAX_ERROR
+ #[ \t]*if 0(.|\r|\n)*
+
+
+ preprocesseur
+ #(.|\\[\\\n])*
+
+
+ commentDoxygen
+ //!.*
+ doxyparse
+
+
comment
- #(.|\\[\\\n])*?$
+ //.*
+ TODO
-
- comment
- //(.|\\[\\\n])*?$
-
-
+
doubleQuoteText
- "(.|\\[\\"])*?"
+ "(.|\\[\\"])*?"
-
+
doubleQuoteText
- '(.|\\[\\'])*?'
+ '(.|\\[\\'])*?'
keyword
- [\$]+[a-zA-Z_][a-zA-Z0-9_]*
+ \$[a-zA-Z_][a-zA-Z0-9_]*\b
+
+
+ keyword
+ (<\?php|php\?>)
type
@@ -50,15 +74,47 @@
boolean
- \b(true|TRUE|false|FALSE)\b
+ \b(true|false|TRUE|FALSE)\b
+
+
+ macro
+ \b([A-Z_][A-Z_0-9]{3,500})\b
+
+
+ inputFunction
+ \b_\w+\b
functionName
- \b\w+[ \t]*\(
+ \b((\w|_)+[ \t]*\()
boolean
- ==|<=|>=|!=|<|>|&&|\{|\}
+ ==|<=|>=|!=|<{1,2}|>{1,2}|&&|\{|\}
+
+
+ SYNTAX_ERROR
+ '|"
-
+
+
+ doxygen-key
+ (@|\\)[\t ]*\w+
+
+
+ doxygen-in-out
+ \[(in|in,out|out)\]
+
+
+ inputFunction
+ \b_\w+\b
+
+
+
+
+ SYNTAX_ERROR
+ TODO[ \t]*:.*
+
+
+
\ No newline at end of file
diff --git a/data/languages/xml/highlight.xml b/data/languages/xml/highlight.xml
index 654799e..be412a3 100644
--- a/data/languages/xml/highlight.xml
+++ b/data/languages/xml/highlight.xml
@@ -1,6 +1,6 @@
- .*\.(xml|svg)
+ .*\.(xml|svg|html|tpl)
comment