AMP_Img_Sanitizer::sanitize PHP Метод

sanitize() публичный Метод

public sanitize ( )
    public function sanitize()
    {
        $nodes = $this->dom->getElementsByTagName(self::$tag);
        $need_dimensions = array();
        $num_nodes = $nodes->length;
        if (0 === $num_nodes) {
            return;
        }
        for ($i = $num_nodes - 1; $i >= 0; $i--) {
            $node = $nodes->item($i);
            if (!$node->hasAttribute('src') || '' === $node->getAttribute('src')) {
                $node->parentNode->removeChild($node);
                continue;
            }
            // Determine which images need their dimensions determined/extracted.
            if ('' === $node->getAttribute('width') || '' === $node->getAttribute('height')) {
                $need_dimensions[$node->getAttribute('src')][] = $node;
            } else {
                $this->adjust_and_replace_node($node);
            }
        }
        $this->determine_dimensions($need_dimensions);
        $this->adjust_and_replace_nodes_in_array_map($need_dimensions);
    }

Usage Example

 public function test_no_gif_image_scripts()
 {
     $source = '<img src="http://placehold.it/350x150.gif" width="350" height="150" alt="Placeholder!" />';
     $expected = array('amp-anim' => 'https://cdn.ampproject.org/v0/amp-anim-0.1.js');
     $dom = AMP_DOM_Utils::get_dom_from_content($source);
     $sanitizer = new AMP_Img_Sanitizer($dom);
     $sanitizer->sanitize();
     $scripts = $sanitizer->get_scripts();
     $this->assertEquals($expected, $scripts);
 }