Своя подсветка синтаксиса

mutex

Guest
Своя подсветка синтаксиса

Проблема в следующем. Пишу свой скрипт для подсветки синтаксиса любых языков. Вот пример реализации для PHP:

PHP:
$search = array("/\bprint\b/",
                      "/\bfor\b/",
                      "/\barray\b/",
                      "/\bisset\b/",
                      "/\breturn\b/",
                      "/\bfunction\b/",
                      "/(\/\/.*)/",
                      "/(\".*\")/");

$replace= array("<b>print</b>",
                      "<b>for</b>",
                      "<b>array</b>",
                      "<b>isset</b>",                                                  
                      "<b>return</b>",
                      "<b>function</b>",
                      "<font color=\"#969696\">\\1</font>",
                      "<font color=\"blue\">\\1</font>");

$text = preg_replace($search, $replace, $text);
Все работает нормально, но проблема с комментариями. Ведь в них тоже могут встречаться элементы языка, но подсвечивать их не нужно. Как реализовать это?
 

mutex

Guest
Это я уже видел, но я же написал, что мне нужна СВОЯ подсветка синтаксиса. Чтобы регулярные выражения читались из файла или массива (например cpp.syntax, php.syntax и т.д.). Поэтому хотелось бы все-таки разобраться с комментариями.
 

Blindman

Новичок
mutex
ты не первый. почитай вот это http://phpclub.ru/talk/showthread.php?s=&threadid=48918&

код, который ты привел, для решения задачи абсолютно непригоден. Для подсветки синтаксиса нужно синтаксис проанализировать. Набором РВ здесь не обойтись.
 
Сверху