Не могу победить HTML фильтр [РЕШЕНО]

Главные вкладки

Аватар пользователя not_returned not_returned 25 декабря 2009 в 20:19

Допустим есть Filtered HTML, в нём расстановка сил такая
HTML filter (Escape all tags) Вес 10
URL filter Вес 0
My URL filter Вес -10
На выходе получаем правильную ситуацию (Первый скрин)

Теперь переопределяем действие фильтров
HTML filter (Escape all tags) Вес -10
Вес 0
My URL filter Вес 10

Здесь видно, что URL filter отработал, а мой фильтр остался не удел. Так вот если в HTML filter разрешить тег a то отрабатывать будет и мой фильтр, но по логике вещей должен отрабатывать и без тега, в порядке очереди. Где может быть проблема?

ВложениеРазмер
Иконка изображения screenshot1.PNG44.57 КБ
Иконка изображения screenshot2.PNG18.51 КБ

Комментарии

Аватар пользователя not_returned not_returned 25 декабря 2009 в 20:30

Прошу не обращать на <a href="FUCK YOU"> в теле ноды, для наглядности написал. Фильтр преобразует допустим при нахождении в тексте форум в <a href="forum.ru">Наш любимый форум</a>

Аватар пользователя not_returned not_returned 26 декабря 2009 в 13:54
<?php
function myfilter_filter($op$delta 0$format = -1$text '') {
  switch (
$op) {
    case 
'list':
      return array(
=> t('Convert my word to my link'));
    case 
'description':
      return 
t('Convert my word to my link');
    case 
'prepare':
        
$text str_replace('Форум','<a href="НАШ ФОРУМ">jhsdkfj</a>',$text);
    return 
$text;
    case 
'process':
        
$text str_replace('Форум','<a href="НАШ ФОРУМ">jhsdkfj</a>',$text);
    return 
$text;
    default:
      return 
$text;
  }
}
?>

Вот код самого фильтра

Аватар пользователя not_returned not_returned 26 декабря 2009 в 14:07

Мля... Прошу прощения, перечитал api по фильтру и понял в чем моя ошибка.

Фильтры не должны использовать шаг 'prepare' для чего либо ещё, кроме экранирования символов, иначе это может "закоротить" контроль пользователя над порядком, в котором применяются фильтры.

Убрал обработку фильтра в этом шаге, все заработало.