Применить фильтр при вводе контента.

Как применить фильтр/сниппет к контенту который вводиться?
Хочу очищать стили при заполнении.
Taras
31 мая 2017, 10:16
modx.pro
1
898
0

Комментарии: 5

Илья
31 мая 2017, 14:12
0
Я правильно понял, что нужно избавиться от html тегов в content? тогда вот:
[[*content:strip_tags=``]] Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags
Фильтры modx
    Taras
    31 мая 2017, 14:24
    0
    Да. Только хотелось бы изначально не вводить в базу теги
    $contentext = preg_replace('/<span[^>]*>(.*)<\/span>/Ui', '\\1', $contentext);
    $contentext = preg_replace('~style="[^"]*"~i', '', $contentext);
    Как чистить при выводе понятно. А как в плагине, на какое событие повесить я не знаю.
      Евгений Webinmd
      31 мая 2017, 14:35
      0
      OnDocFormSave
        Илья
        31 мая 2017, 14:54
        1
        +1
        Нужно создать плагин на событие OnDocFormSave
        и в нем что-то типа этого:
        <?php
        if ($mode == 'new') {
          if ($resource->get('content')) {
            $contentext = preg_replace('/<span[^>]*>(.*)<\/span>/Ui', '\\1', $resource->get('content'));
            $contentext = preg_replace('~style="[^"]*"~i', '', $contentext);
            $resource->set('content', $contentext);
            $resource->save();
            }
          }
          Taras
          31 мая 2017, 17:33
          0
          спасибки.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5