public function getComment() { $pos = 0; $len = BinStringStatic::_strlen($this->dataSubBlocks); $comment = ""; while ($pos < $len && ord($this->dataSubBlocks[$pos]) > 0) { $comment .= BinStringStatic::_substr($this->dataSubBlocks, $pos + 1, ord($this->dataSubBlocks[$pos])); $pos += 1 + ord($this->dataSubBlocks[$pos]); } return $comment; }
/** * @param $doc * * @return string */ public static function removeComments($doc) { $doc = preg_replace('~--\\s+>~', '-->', $doc); $doc = preg_replace('~<\\s*!\\s*--~', '<!--', $doc); $cPos = BinStringStatic::_strpos($doc, "<!--"); if ($cPos !== false) { $startCount = substr_count($doc, "<!--"); $endCount = substr_count($doc, "-->"); $lastCPos = -1; while ($cPos !== false && $lastCPos != $cPos) { $lastCPos = $cPos; $lastEPos = $cPos; $ePos = $cPos; do { $ePos = BinStringStatic::_strpos($doc, "-->", $ePos + 1); if ($ePos !== false) { $lastEPos = $ePos; $comment = BinStringStatic::_substr($doc, $cPos, $lastEPos + 3 - $cPos); $startCount = substr_count($comment, "<!--"); $endCount = substr_count($comment, "-->"); } elseif ($lastEPos == $cPos) { $lastEPos = BinStringStatic::_strlen($doc) - 3; } } while ($startCount != $endCount && $ePos !== false); $doc = substr_replace($doc, "", $cPos, $lastEPos + 3 - $cPos); $cPos = BinStringStatic::_strpos($doc, "<!--"); } } // print "<pre>\n" . htmlentities($doc) . "\n</pre>\n"; return $doc; }
/** * @param LogicalScreenDescriptor $lsd */ public static function dumpLogicalScreenDescriptor($lsd) { echo "lsdScreenWidth......................: " . $lsd->screenWidth . "\n"; echo "lsdScreenHeight.....................: " . $lsd->screenHeight . "\n"; echo "lsdPackedFields.....................: \n"; echo " - lsdGlobalColorTable.............: " . self::echoYN($lsd->colorTableFlag) . "\n"; echo " - lsdColorResolution..............: " . $lsd->colorResolution . "\n"; echo " - lsdSortFlag.....................: " . self::echoYN($lsd->sortFlag) . "\n"; echo " - lsdGlobalColorTableSize.........: " . $lsd->colorTableSize . "\n"; echo "lsdBGColorIndex.....................: " . $lsd->bgColorIndex; echo " (0x"; echo bin2hex(BinStringStatic::_substr($lsd->colorTable, $lsd->bgColorIndex * 3, 3)); echo " (rrggbb))\n"; echo "lsdPixelAspectRatio.................: " . $lsd->pixelAspectRatio . "\n"; echo "\n"; echo "Global Color Table..................: "; if ($lsd->colorTableFlag && $lsd->colorTableSize > 0) { echo "GCT present.\n"; if ($lsd->colorTableSize < 16) { echo "Global Color Table content..........: "; echo bin2hex($lsd->colorTable) . "\n"; } } else { echo "No GCT.\n"; } }