Т.к. я веду блог (хотя это больше заметки из жизни) стараюсь оформлять все красиво.
До этого я применял простой тег <code></code> для вставки команд из RouterOS
Посидел подумал, а не написать ли простенький плагин для Wordpress для подсветки синтаксиса, как в терминале RouterOS:
Начало положено, но я столкнулся с проблемой. А именно с регулярками.. Да да те самые, с помощью, которых нужно вылавливать символы, определенные команды и кучу всего другого.
Прошу посильной помощи в написании плагина.
Code on GitHub
На данный момент использую функцию
Код: Выделить всё
preg_replace
Мы имеем несколько цветов для различных типов действий
1. Вход в меню и переходы rgb(0,155,155)
2. Команды rgb(155,0,155)
3. Параметры rgb(0,155,0)
4. Символы rgb(155,155,0)
Пока это выглядит так:
Если получится все сделать, как нужно. Данный код пригодится многим, кто занимается Микротиками и делится с другими информацией по ним.
Да и эстетично
Код:
Код: Выделить всё
// Строки поиска
$search = array(
'/(\/system|\/interface|wireless)[\ ]|(\:)/si', // Входное меню
'/\b(add|set|get|find|put|print)\b/si', // Действия
'/(default\-name|name|mtu|l2mtu|mac-address|arp|interface\-type|mode|ssid|frequency|band|channel\-width|scan-list|wireless\-protocol|vlan\-mode|vlan\-id|wds\-mode|wds\-default\-bridge|wds\-ignore\-ssid|bridge\-mode|default\-authentication|default\-forwarding|default\-ap\-tx\-limit|default\-client\-tx\-limit|hide\-ssid|security\-profile|compression)[\=]|(detail)/si', // Параметры
'/([\[|\]])|(\;)/si', // Символы
);
Код: Выделить всё
// Замена входного меню
$replace = array(
'<span class="color-menu">\\0</span>', // Входное меню
'<span class="color-action">\\0</span>', // Действия
'<span class="color-param">\\0</span>', // Параметры
'<span class="color-symbol">\\0</span>', // Символы
);
Код: Выделить всё
$content = preg_replace($search, $replace, $content);