View file sys/fnc/SmileButton.php

File size: 1.17Kb
<?php
/**
 * Created by PhpStorm.
 * User: koder_alex
 */

function SmileButton($buffer)
{
    if (preg_match("#<form(.+)>#i", $buffer) === 0)
        return $buffer;
    $doc = new DOMDocument('1.0', 'utf-8');
    $old_libxml_error = libxml_use_internal_errors(true);
    $doc->loadHTML($buffer, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
    libxml_use_internal_errors($old_libxml_error);
    $forms = $doc->getElementsByTagName('form');  // ищем формы
    foreach ($forms as $element) {
        if ($element instanceof DOMElement) { // обходим только элементы
            $div = $element->getElementsByTagName('div');// ищем div[id=comments]
            if ($div->length > 0 && $div->item(0)->getAttribute('id') == 'comments') {

                $el = $doc->createElement('i'); // создаем кнопку смайлов
                $el->setAttribute('class', 'SmileButton');
                $el->setAttribute('id', 'SmileButton');

                $element->appendChild($el);
                break;
            } else
                continue;
        }
    }
    return $doc->saveHTML();
}

ob_start("SmileButton");