Фильтры

Вы могли бы задаться вопросом, для чего вообще необходима система фильтров, если вы можете легко управлять текстом, используя уже существующие обработчики прерываний, найденные в другом месте. Например, вместо фильтра URL, казалось бы. удобно использовать обработчик прерываний hook_nodeapi () для преобразования URL в активизируемые щелчком ссылки. Но рассмотрите случай, когда у вас есть пять различных фильтров, которые нужно выполнить для поля тела узлов. Теперь, предположим, что вы рассматриваете страницу с адресом http://example.com/7q-node.

на которой одновременно отображается десять узлов. Это означает, что для единственного представления страницы должны быть запущены 50 фильтров, и фильтрация текста могла бы превратиться в весьма дорогостоящую операцию. Это также означало бы, что всякий раз. когда отображается узел, он должен проходить через эти фильтры, даже если текст, который фильтруется, не изменился. Эта операция могла бы выполняться много раз. хотя без нее вполне можно обойтись.
Система фильтров имеет кэширующий уровень, который обеспечивает существенное улучшение производительности. Если для данного фрагмента текста были выполнены все фильтры, отфильтрованная версия этого текста сохраняется в таб лице cache_f titer, и она остается в кэше до тех пор. пока текст еще раз не будет изменен (модификация обнаруживается за счет использования хеш-функции MD5 отфильтрованного содержимого).
Несомненно, фильтры Drupal могут создавать ссылки, форматировать ваше содержимое и преобразовывать текст в пиратский сленг на лету, но было бы совсем здорово, если бы они могли делать записи в блогах или, по крайней мере, помогать нам в подобном творчестве. Несомненно. Drupal также может делать это! Давайте создадим модуль с фильтром, позволяющий вставлять в запись блога случайные сентенции. Мы настроим его так, чтобы, когда ваши мысли иссякнут и вам понадобится творческий всплеск, вы могли бы просто напечатать [juice!] и, когда вы сохраните вашу запись, это слово будет заменено случайным высказыванием. Мы также сделаем так, чтобы, если вам нужно много творческих стимулов, вы могли бы использовать дескриптор [juice! ] несколько раз водном сообщении.