original_string: protected static function strip_images($html) {
          // Load HTML and suppress any parsing errors (DOMDocument->loadHTML() does not current support HTML5 tags).
          $dom = new DOMDocument();
          libxml_use_internal_errors(true);
          $dom->loadHTML('<?xml version="1.0" encoding="UTF-8" ?>' . $html);
          libxml_clear_errors();
  
          // Find all img tags.
          if ($imgnodes = $dom->getElementsByTagName('img')) {
              // Replace img nodes with the img alt text without overriding DOM elements.
              for ($i = ($imgnodes->length - 1); $i >= 0; $i--) {
                  $imgnode = $imgnodes->item($i);
                  $alt = ($imgnode->hasAttribute('alt')) ? ' [ ' . $imgnode->getAttribute('alt') . ' ] ' : ' ';
                  $textnode = $dom->createTextNode($alt);
  
                  $imgnode->parentNode->replaceChild($textnode, $imgnode);
              }
          }
          $count = 1;
          return str_replace("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>", "", $dom->saveHTML(), $count);
      }
code: protected static function strip_images($html) {
          // Load HTML and suppress any parsing errors (DOMDocument->loadHTML() does not current support HTML5 tags).
          $dom = new DOMDocument();
          libxml_use_internal_errors(true);
          $dom->loadHTML('<?xml version="1.0" encoding="UTF-8" ?>' . $html);
          libxml_clear_errors();
  
          // Find all img tags.
          if ($imgnodes = $dom->getElementsByTagName('img')) {
              // Replace img nodes with the img alt text without overriding DOM elements.
              for ($i = ($imgnodes->length - 1); $i >= 0; $i--) {
                  $imgnode = $imgnodes->item($i);
                  $alt = ($imgnode->hasAttribute('alt')) ? ' [ ' . $imgnode->getAttribute('alt') . ' ] ' : ' ';
                  $textnode = $dom->createTextNode($alt);
  
                  $imgnode->parentNode->replaceChild($textnode, $imgnode);
              }
          }
          $count = 1;
          return str_replace("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>", "", $dom->saveHTML(), $count);
      }
code_tokens: protected static function strip_images ( $ html ) { // Load HTML and suppress any parsing errors (DOMDocument->loadHTML() does not current support HTML5 tags). $ dom = new DOMDocument ( ) ; libxml_use_internal_errors ( true ) ; $ dom -> loadHTML ( '<?xml version="1.0" encoding="UTF-8" ?>' . $ html ) ; libxml_clear_errors ( ) ; // Find all img tags. if ( $ imgnodes = $ dom -> getElementsByTagName ( 'img' ) ) { // Replace img nodes with the img alt text without overriding DOM elements. for ( $ i = ( $ imgnodes -> length - 1 ) ; $ i >= 0 ; $ i -- ) { $ imgnode = $ imgnodes -> item ( $ i ) ; $ alt = ( $ imgnode -> hasAttribute ( 'alt' ) ) ? ' [ ' . $ imgnode -> getAttribute ( 'alt' ) . ' ] ' : ' ' ; $ textnode = $ dom -> createTextNode ( $ alt ) ; $ imgnode -> parentNode -> replaceChild ( $ textnode , $ imgnode ) ; } } $ count = 1 ; return str_replace ( "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" , "" , $ dom -> saveHTML ( ) , $ count ) ; }
docstring: Use a DOM parser to accurately replace images with their alt text.
  @param string $html
  @return string New html with no image tags.
docstring_tokens: Use a DOM parser to accurately replace images with their alt text .