After a little discussion on php-general[1], I wrote a patch that basically allows two new php.ini entries: highlight.prepend and highlight.append. They default to what the output currently is ('<code><font color="#000000">' and '</code></font>')
The code effects four files; ext/standard/basic_functions.c, main/main.c, Zend/zend_highlight.c, and Zend/zend_highlight.h I didn't account for Lisa Seelye's patch, but if there's interest in both patches I'd be happy to make the changes to mine. Have a nice day. [1]: http://marc.theaimsgroup.com/?l=php-general&m=106737816224797&w=2 -- Evan Nemerson [EMAIL PROTECTED] -- "A people who mean to be their own governors, must arm themselves with the power knowledge gives." -James Madison
Index: main/main.c =================================================================== RCS file: /repository/php-src/main/main.c,v retrieving revision 1.579 diff -u -r1.579 main.c --- main/main.c 9 Oct 2003 02:58:34 -0000 1.579 +++ main/main.c 29 Oct 2003 17:59:24 -0000 @@ -248,6 +248,8 @@ PHP_INI_ENTRY_EX("highlight.html", HL_HTML_COLOR, PHP_INI_ALL, NULL, php_ini_color_displayer_cb) PHP_INI_ENTRY_EX("highlight.keyword", HL_KEYWORD_COLOR, PHP_INI_ALL, NULL, php_ini_color_displayer_cb) PHP_INI_ENTRY_EX("highlight.string", HL_STRING_COLOR, PHP_INI_ALL, NULL, php_ini_color_displayer_cb) + PHP_INI_ENTRY_EX("highlight.prepend", HL_PREPEND_STRING, PHP_INI_ALL, NULL, php_ini_color_displayer_cb) + PHP_INI_ENTRY_EX("highlight.append", HL_APPEND_STRING, PHP_INI_ALL, NULL, php_ini_color_displayer_cb) STD_PHP_INI_BOOLEAN("allow_call_time_pass_reference", "1", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, allow_call_time_pass_reference, zend_compiler_globals, compiler_globals) STD_PHP_INI_BOOLEAN("asp_tags", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, asp_tags, zend_compiler_globals, compiler_globals) Index: Zend/zend_highlight.c =================================================================== RCS file: /repository/ZendEngine2/zend_highlight.c,v retrieving revision 1.39 diff -u -r1.39 zend_highlight.c --- Zend/zend_highlight.c 11 Aug 2003 05:24:41 -0000 1.39 +++ Zend/zend_highlight.c 29 Oct 2003 17:59:25 -0000 @@ -104,8 +104,7 @@ char *next_color; int in_string=0; - zend_printf("<code>"); - zend_printf("<font color=\"%s\">\n", last_color); + zend_printf("%s\n", syntax_highlighter_ini->highlight_prepend); /* highlight stuff coming back from zendlex() */ token.type = 0; while ((token_type=lex_scan(&token TSRMLS_CC))) { @@ -194,8 +193,7 @@ if (last_color != syntax_highlighter_ini->highlight_html) { zend_printf("</font>\n"); } - zend_printf("</font>\n"); - zend_printf("</code>"); + zend_printf("%s\n", syntax_highlighter_ini->highlight_append); } Index: Zend/zend_highlight.h =================================================================== RCS file: /repository/ZendEngine2/zend_highlight.h,v retrieving revision 1.23 diff -u -r1.23 zend_highlight.h --- Zend/zend_highlight.h 10 Jun 2003 20:03:25 -0000 1.23 +++ Zend/zend_highlight.h 29 Oct 2003 17:59:25 -0000 @@ -28,6 +28,8 @@ #define HL_STRING_COLOR "#DD0000" /* red */ #define HL_BG_COLOR "#FFFFFF" /* white */ #define HL_KEYWORD_COLOR "#007700" /* green */ +#define HL_PREPEND_STRING "<code><font color=\"#000000\">" +#define HL_APPEND_STRING "</code></font>" typedef struct _zend_syntax_highlighter_ini { @@ -36,6 +38,8 @@ char *highlight_default; char *highlight_string; char *highlight_keyword; + char *highlight_prepend; + char *highlight_append; } zend_syntax_highlighter_ini; Index: ext/standard/basic_functions.c =================================================================== RCS file: /repository/php-src/ext/standard/basic_functions.c,v retrieving revision 1.636 diff -u -r1.636 basic_functions.c --- ext/standard/basic_functions.c 28 Oct 2003 04:02:11 -0000 1.636 +++ ext/standard/basic_functions.c 29 Oct 2003 17:59:32 -0000 @@ -2229,6 +2229,8 @@ syntax_highlighter_ini->highlight_html = INI_STR("highlight.html"); syntax_highlighter_ini->highlight_keyword = INI_STR("highlight.keyword"); syntax_highlighter_ini->highlight_string = INI_STR("highlight.string"); + syntax_highlighter_ini->highlight_prepend = INI_STR("highlight.prepend"); + syntax_highlighter_ini->highlight_append = INI_STR("highlight.append"); } /* {{{ proto bool highlight_file(string file_name [, bool return] )
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php