Helper\Payment\alipay\simple_html_dom_node::get_display_size PHP Method

get_display_size() public method

NOTE: This will ONLY work on an IMG tag. Returns FALSE on all other tag types.
Author: John Schlick
public get_display_size ( ) : array
return array an array containing the 'height' and 'width' of the image on the page or -1 if we can't figure it out.
    function get_display_size()
    {
        global $debugObject;
        $width = -1;
        $height = -1;
        if ($this->tag !== 'img') {
            return false;
        }
        // See if there is aheight or width attribute in the tag itself.
        if (isset($this->attr['width'])) {
            $width = $this->attr['width'];
        }
        if (isset($this->attr['height'])) {
            $height = $this->attr['height'];
        }
        // Now look for an inline style.
        if (isset($this->attr['style'])) {
            // Thanks to user gnarf from stackoverflow for this regular expression.
            $attributes = array();
            preg_match_all("/([\\w-]+)\\s*:\\s*([^;]+)\\s*;?/", $this->attr['style'], $matches, PREG_SET_ORDER);
            foreach ($matches as $match) {
                $attributes[$match[1]] = $match[2];
            }
            // If there is a width in the style attributes:
            if (isset($attributes['width']) && $width == -1) {
                // check that the last two characters are px (pixels)
                if (strtolower(substr($attributes['width'], -2)) == 'px') {
                    $proposed_width = substr($attributes['width'], 0, -2);
                    // Now make sure that it's an integer and not something stupid.
                    if (filter_var($proposed_width, FILTER_VALIDATE_INT)) {
                        $width = $proposed_width;
                    }
                }
            }
            // If there is a width in the style attributes:
            if (isset($attributes['height']) && $height == -1) {
                // check that the last two characters are px (pixels)
                if (strtolower(substr($attributes['height'], -2)) == 'px') {
                    $proposed_height = substr($attributes['height'], 0, -2);
                    // Now make sure that it's an integer and not something stupid.
                    if (filter_var($proposed_height, FILTER_VALIDATE_INT)) {
                        $height = $proposed_height;
                    }
                }
            }
        }
        // Future enhancement:
        // Look in the tag to see if there is a class or id specified that has a height or width attribute to it.
        // Far future enhancement
        // Look at all the parent tags of this image to see if they specify a class or id that has an img selector that specifies a height or width
        // Note that in this case, the class or id will have the img subselector for it to apply to the image.
        // ridiculously far future development
        // If the class or id is specified in a SEPARATE css file thats not on the page, go get it and do what we were just doing for the ones on the page.
        $result = array('height' => $height, 'width' => $width);
        return $result;
    }