Ris, благодарю вас за совет! Всё получилось.
Для тех, кто хочет добавить себе тег <gpsies> (актуально для туристов, велосипедистов, мотоциклистов и просто путешественников), вот инструкция:
1. Дублируем html_filter.php, как в предыдущем сообщении от
Ris
2. В полученном файле найти (~42 строка):
$jevix->cfgAllowTags(array(
после всех тегов перед
)); добавить
Обратите внимание, что после последнего тега не должно быть запятой!
3. Далее найти (~82 строка)
$jevix->cfgAllowTagParams('iframe', array(
далее в этой же строке найти
перед ним добавить
, 'scrolling' => '#text', 'marginheight' => '#text', 'marginwidth' => '#text',
далее в этой же строке найти
перед ним добавить
4. Далее найти (~119 строка)
// Отключаем типографирование в определенном теге
$jevix->cfgSetTagNoTypography('pre','youtube', 'iframe'
сразу после добавить
5. Далее найти (~134 строка)
// Ставим колбэк для спойлеров
$jevix->cfgSetTagCallbackFull('spoiler', array($this, 'parseSpoiler'));
после, на следующей строке добавить
// Ставим колбэк для gpsies
$jevix->cfgSetTagCallbackFull('gpsies', array($this, 'parseGpsies'));
6. В самом конце файла перед последней
} добавить
// Обработчик html-тега <gpsies>
public function parseGpsies($tag, $params, $content){
return $this->getGpsiesCode('//www.gpsies.com/mapOnly.do?fileId='.$video_id);
}
private function getGpsiesCode($src) {
return '<div class="video_wrap"><iframe class="video_frame" src="'.$src.'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe></div>';
}
private function parseGpsiesID($url) {
$pattern = '#^(?:(?:https|http)?://)?(?:www\.)?(?:gpsies\.com(?:/map\.do\?fileId=))([\w-]{16})(?:.+)?$#x';
return (isset($matches[1])) ?
$matches[1] : false;
}
Далее всё ещё раз проверяем, в т.ч. синтаксис и запятые. Ну и на этом всё)
Если вам нужно сделать обработчик для собственного тега, делаем всё по аналогии. Удачи.