AutorÃa | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>.namespace tool_brickfield\local\htmlchecker\common;use tool_brickfield\local\htmlchecker\brickfield_accessibility;/*** This is a helper class which organizes all the HTML tags into groups for finding.** @package tool_brickfield* @copyright 2020 onward: Brickfield Education Labs, www.brickfield.ie* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/class html_elements {/*** @var array An array of HTML tag names and their attributes*/public static $htmlelements = ['img' => ['text' => false],'p' => ['text' => true],'pre' => ['text' => true],'span' => ['text' => true],'div' => ['text' => true],'applet' => ['text' => false],'embed' => ['text' => false, 'media' => true],'object' => ['text' => false, 'media' => true],'area' => ['imagemap' => true],'b' => ['text' => true, 'non-emphasis' => true],'i' => ['text' => true, 'non-emphasis' => true],'font' => ['text' => true, 'font' => true],'h1' => ['text' => true, 'header' => true],'h2' => ['text' => true, 'header' => true],'h3' => ['text' => true, 'header' => true],'h4' => ['text' => true, 'header' => true],'h5' => ['text' => true, 'header' => true],'h6' => ['text' => true, 'header' => true],'ul' => ['text' => true, 'list' => true],'dl' => ['text' => true, 'list' => true],'ol' => ['text' => true, 'list' => true],'blockquote' => ['text' => true, 'quote' => true],'q' => ['text' => true, 'quote' => true],'acronym' => ['acronym' => true, 'text' => true],'abbr' => ['acronym' => true, 'text' => true],'input' => ['form' => true],'select' => ['form' => true],'textarea' => ['form' => true],brickfield_accessibility::BA_ERROR_TAG => ['text' => true],];/*** Retrieves elements by an option.* @param string $option The option to search fore* @param bool $value Whether the option should be true or false* @return array An array of HTML tag names*/public static function get_elements_by_option(string $option, bool $value = true): array {$results = [];foreach (self::$htmlelements as $k => $element) {if (isset($element[$option]) && ($element[$option] == $value)) {$results[] = $k;}}return $results;}}