public static function getConvertor($source, $dest)
{
static $table = [Engine::CONTENT_TEXT => ['html' => 'escapeHtmlText', 'xhtml' => 'escapeHtmlText', 'htmlAttr' => 'escapeHtmlAttr', 'xhtmlAttr' => 'escapeHtmlAttr', 'htmlAttrJs' => 'escapeHtmlAttr', 'xhtmlAttrJs' => 'escapeHtmlAttr', 'htmlAttrCss' => 'escapeHtmlAttr', 'xhtmlAttrCss' => 'escapeHtmlAttr', 'htmlAttrUrl' => 'escapeHtmlAttr', 'xhtmlAttrUrl' => 'escapeHtmlAttr', 'htmlComment' => 'escapeHtmlComment', 'xhtmlComment' => 'escapeHtmlComment', 'xml' => 'escapeXml', 'xmlAttr' => 'escapeXml'], Engine::CONTENT_JS => ['html' => 'escapeHtmlText', 'xhtml' => 'escapeHtmlText', 'htmlAttr' => 'escapeHtmlAttr', 'xhtmlAttr' => 'escapeHtmlAttr', 'htmlAttrJs' => 'escapeHtmlAttr', 'xhtmlAttrJs' => 'escapeHtmlAttr', 'htmlJs' => 'escapeHtmlRawText', 'xhtmlJs' => 'escapeHtmlRawText', 'htmlComment' => 'escapeHtmlComment', 'xhtmlComment' => 'escapeHtmlComment'], Engine::CONTENT_CSS => ['html' => 'escapeHtmlText', 'xhtml' => 'escapeHtmlText', 'htmlAttr' => 'escapeHtmlAttr', 'xhtmlAttr' => 'escapeHtmlAttr', 'htmlAttrCss' => 'escapeHtmlAttr', 'xhtmlAttrCss' => 'escapeHtmlAttr', 'htmlCss' => 'escapeHtmlRawText', 'xhtmlCss' => 'escapeHtmlRawText', 'htmlComment' => 'escapeHtmlComment', 'xhtmlComment' => 'escapeHtmlComment'], Engine::CONTENT_HTML => ['htmlAttr' => 'escapeHtmlAttrConv', 'htmlAttrJs' => 'escapeHtmlAttrConv', 'htmlAttrCss' => 'escapeHtmlAttrConv', 'htmlAttrUrl' => 'escapeHtmlAttrConv', 'htmlComment' => 'escapeHtmlComment'], Engine::CONTENT_XHTML => ['xhtmlAttr' => 'escapeHtmlAttrConv', 'xhtmlAttrJs' => 'escapeHtmlAttrConv', 'xhtmlAttrCss' => 'escapeHtmlAttrConv', 'xhtmlAttrUrl' => 'escapeHtmlAttrConv', 'xhtmlComment' => 'escapeHtmlComment']];
return isset($table[$source][$dest]) ? [__CLASS__, $table[$source][$dest]] : NULL;
}