Использование скриптов в полной новости
Если захотите внедрить небольшой скрипт непосредственно в сам текст новости, то это не получится. Разработчики DLE запретили использование/выполнение любого кода в новости в угоду безопасности движка. А что делать когда ну очень уж надо?
Если откроем engine/classes/parse.class.php и посмотрим примерно на 46 строку (нумерация в разных версиях может отличаться), то увидим следующее:
var $tagBlacklist = array ('applet', 'body', 'bgsound', 'base', 'basefont', 'frame', 'frameset', 'head', 'html', 'id', 'ilayer', 'layer', 'link', 'meta', 'name', 'script', 'style', 'title', 'xml' );
Здесь полный перечень того, что запрещает DLE вставлять в текст новостей. Теперь рассмотрим, как разрешить вставку кода на примере тега:
<script>
Установка:
1. Открыть engine/classes/parse.class.php и удалить , 'script' из строки:
var $tagBlacklist = array ('applet', 'body', 'bgsound', 'base', 'basefont', 'frame', 'frameset', 'head', 'html', 'id', 'ilayer', 'layer', 'link', 'meta', 'name', 'script', 'style', 'title', 'xml' );
2. Ниже найти и удалить все строки содержащие:
$source = preg_replace( "#<script#i", "<script", $source );
Готово!
Чтобы проверить работает ли вставка скриптов в саму новость добавьте:
<script>alert("Hello World!");</script>
Опубликуйте статью и откройте ее на сайте. Если увидели всплывающее сообщение - поздравляем, все сделано правильно. По аналогии разблокируются и остальные теги.
• Автор: Артем Мáлков
• Источник
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.