Exemple #1
0
 public static function setUpBeforeClass()
 {
     $qevix = new Qevix();
     // 1. Задает список разрешенных тегов
     $qevix->cfgAllowTags(array('b', 'i', 'u', 'a', 'img', 'ul', 'li', 'ol', 'br', 'code', 'pre', 'div', 'cut', 'video'));
     // 2. Указавает, какие теги считать короткими (<br>, <img>)
     $qevix->cfgSetTagShort(array('br', 'img', 'cut', 'video'));
     // 3. Указывает преформатированные теги, в которых нужно всё заменять на HTML сущности
     $qevix->cfgSetTagPreformatted(array('code'));
     // 4. Указывает не короткие теги, которые могут быть пустыми и их не нужно из-за этого удалять
     $qevix->cfgSetTagIsEmpty(array('div'));
     // 5. Указывает теги внутри которых не нужна авто расстановка тегов перевода на новую строку
     $qevix->cfgSetTagNoAutoBr(array('ul', 'ol'));
     // 6. Указывает теги, которые необходимо вырезать вместе с содержимым
     $qevix->cfgSetTagCutWithContent(array('script', 'object', 'iframe', 'style'));
     // 7. Указывает теги, после которых не нужно добавлять дополнительный перевод строки, например, блочные теги
     $qevix->cfgSetTagBlockType(array('ol', 'ul', 'code', 'video'));
     // 8. Добавляет разрешенные параметры для тегов, значение по умолчанию шаблон #text. Разрешенные шаблоны #text, #int, #link, #regexp(...) (Например: "#regexp(\d+(%|px))")
     $qevix->cfgAllowTagParams('a', array('title', 'href' => '#link', 'rel' => '#text', 'target' => array('_blank')));
     $qevix->cfgAllowTagParams('img', array('src' => '#text', 'alt' => '#text', 'title', 'align' => array('right', 'left', 'center'), 'width' => '#int', 'height' => '#int'));
     $qevix->cfgAllowTagParams('video', array('src' => ['#link' => ['youtube.com', 'vimeo.com']]));
     // 9. Добавляет обязательные параметры для тега
     $qevix->cfgSetTagParamsRequired('a', 'href');
     $qevix->cfgSetTagParamsRequired('img', 'src');
     $qevix->cfgSetTagParamsRequired('video', 'src');
     // 10. Указывает, какие теги являются контейнерами для других тегов
     $qevix->cfgSetTagChilds('ul', 'li', true, true);
     $qevix->cfgSetTagChilds('ol', 'li', true, true);
     // 11. Указывает, какие теги не должны быть дочерними к другим тегам
     $qevix->cfgSetTagGlobal('cut');
     // 12. Устанавливаем атрибуты тегов, которые будут добавлятся автоматически
     $qevix->cfgSetTagParamDefault('a', 'rel', 'nofollow', true);
     $qevix->cfgSetTagParamDefault('img', 'alt', '');
     // 13. Указывает теги, в которых нужно отключить типографирование текста
     $qevix->cfgSetTagNoTypography(array('code', 'pre'));
     // 14. Устанавливает список разрешенных протоколов для ссылок (https, http, ftp)
     $qevix->cfgSetLinkProtocolAllow(array('http', 'https'));
     // 15. Включает или выключает режим XHTML
     $qevix->cfgSetXHTMLMode(false);
     // 16. Включает или выключает режим автозамены символов переводов строк на тег <br>
     $qevix->cfgSetAutoBrMode(true);
     // 17. Включает или выключает режим автоматического определения ссылок
     $qevix->cfgSetAutoLinkMode(true);
     // 18. Задает символ/символы перевода строки. По умполчанию "\n". Разрешено "\n" или "\r\n"
     $qevix->cfgSetEOL("\n");
     // 19. Устанавливает на тег callback-функцию
     $qevix->cfgSetTagBuildCallback('code', [static::class, 'tagCodeBuild']);
     // 20. Устанавливает на строку предварённую спецсимволом (@|#|$) callback-функцию
     $qevix->cfgSetSpecialCharCallback('#', [static::class, 'tagSharpBuild']);
     $qevix->cfgSetSpecialCharCallback('@', [static::class, 'tagAtBuild']);
     static::$qevix = $qevix;
 }
Exemple #2
0
// 10. Указывает, какие теги являются контейнерами для других тегов
$qevix->cfgSetTagChilds('ul', 'li', true, true);
$qevix->cfgSetTagChilds('ol', 'li', true, true);
// 11. Указывает, какие теги не должны быть дочерними к другим тегам
$qevix->cfgSetTagGlobal('cut');
// 12. Устанавливаем атрибуты тегов, которые будут добавлятся автоматически
$qevix->cfgSetTagParamDefault('a', 'rel', 'nofollow', true);
$qevix->cfgSetTagParamDefault('img', 'alt', '');
// 13. Указывает теги, в которых нужно отключить типографирование текста
$qevix->cfgSetTagNoTypography(array('code', 'pre'));
// 14. Устанавливает список разрешенных протоколов для ссылок (https, http, ftp)
$qevix->cfgSetLinkProtocolAllow(array('http', 'https'));
// 15. Включает или выключает режим XHTML
$qevix->cfgSetXHTMLMode(false);
// 16. Включает или выключает режим автозамены символов переводов строк на тег <br>
$qevix->cfgSetAutoBrMode(true);
// 17. Включает или выключает режим автоматического определения ссылок
$qevix->cfgSetAutoLinkMode(true);
// 18. Задает символ/символы перевода строки. По умполчанию "\n". Разрешено "\n" или "\r\n"
$qevix->cfgSetEOL("\n");
// 19. Устанавливает на тег callback-функцию
$qevix->cfgSetTagBuildCallback('code', 'tag_code_build');
// 20. Устанавливает на строку предварённую спецсимволом (@|#|$) callback-функцию
$qevix->cfgSetSpecialCharCallback('#', 'tag_sharp_build');
$qevix->cfgSetSpecialCharCallback('@', 'tag_at_build');
// 21. Устанавливает на тег событие
$qevix->cfgSetTagEventCallback('code', 'tag_code_event');
function tag_code_build($tag, $params, $content)
{
    return '<pre><code>' . $content . '<code><pre>' . "\n";
}