pQuery\DomNode::match_tags PHP Метод

match_tags() защищенный Метод

Checks if tag matches certain conditions
См. также: match()
protected match_tags ( array $tags ) : boolean
$tags array array('tag1', 'tag2') or array(array( 'tag' => 'tag1', 'operator' => 'or'/'and', 'compare' => 'total'/'namespace'/'name', 'case_sensitive' => true))
Результат boolean
    protected function match_tags($tags)
    {
        $res = false;
        foreach ($tags as $tag => $match) {
            if (!is_array($match)) {
                $match = array('match' => $match, 'operator' => 'or', 'compare' => 'total', 'case_sensitive' => false);
            } else {
                if (is_int($tag)) {
                    $tag = $match['tag'];
                }
                if (!isset($match['match'])) {
                    $match['match'] = true;
                }
                if (!isset($match['operator'])) {
                    $match['operator'] = 'or';
                }
                if (!isset($match['compare'])) {
                    $match['compare'] = 'total';
                }
                if (!isset($match['case_sensitive'])) {
                    $match['case_sensitive'] = false;
                }
            }
            if ($match['operator'] === 'and' && !$res) {
                return false;
            } elseif (!($res && $match['operator'] === 'or')) {
                if ($match['compare'] === 'total') {
                    $a = $this->tag;
                } elseif ($match['compare'] === 'namespace') {
                    $a = $this->getNamespace();
                } elseif ($match['compare'] === 'name') {
                    $a = $this->getTag();
                }
                if ($match['case_sensitive']) {
                    $res = ($a === $tag) === $match['match'];
                } else {
                    $res = (strcasecmp($a, $tag) === 0) === $match['match'];
                }
            }
        }
        return $res;
    }
DomNode