private static function init_tags_regex() { if (!self::$is_tags_regex_init) { if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG) || CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) { $aliases = CrayonResources::langs()->ids_and_aliases(); for ($i = 0; $i < count($aliases); $i++) { $alias = $aliases[$i]; $alias_regex = CrayonUtil::esc_hash(CrayonUtil::esc_regex($alias)); if ($i != count($aliases) - 1) { $alias_regex .= '|'; } self::$alias_regex .= $alias_regex; } } // Add other tags self::$tags_regex = '#(\\s*\\[\\s*crayon\\b)'; if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_MINI_TAG)) { self::$tags_regex .= '|([\\[]\\s*(' . self::$alias_regex . '))'; } if (CrayonGlobalSettings::val(CrayonSettings::CAPTURE_PRE)) { self::$tags_regex .= '|(<\\s*pre\\b)'; } if (CrayonGlobalSettings::val(CrayonSettings::INLINE_TAG)) { self::$tags_regex .= '|(' . self::REGEX_INLINE_CLASS . ')' . '|([\\{]\\s*(' . self::$alias_regex . '))'; } if (CrayonGlobalSettings::val(CrayonSettings::PLAIN_TAG)) { self::$tags_regex .= '|(\\s*\\[\\s*plain\\b)'; } if (CrayonGlobalSettings::val(CrayonSettings::BACKQUOTE)) { self::$tags_regex .= '|(`[^`]*`)'; } self::$tags_regex .= '#msi'; self::$is_tags_regex_init = TRUE; } }