wp-includes/SimplePie/src/Content/Type/Sniffer.php:186Sniff HTML
string public function feed_or_html() { $body = $this->file->get_body_content(); $len = strlen($body); $pos = strspn($body, "\x09\x0A\x0D\x20\xEF\xBB\xBF"); while ($pos < $len) { switch ($body[$pos]) { case "\x09": case "\x0A": case "\x0D": case "\x20": $pos += strspn($body, "\x09\x0A\x0D\x20", $pos); continue 2; case '<': $pos++; break; default: return 'text/html'; } if (substr($body, $pos, 3) === '!--') { $pos += 3; if ($pos < $len && ($pos = strpos($body, '-->', $pos)) !== false) { $pos += 3; } else { return 'text/html'; } } elseif (substr($body, $pos, 1) === '!') { if ($pos < $len && ($pos = strpos($body, '>', $pos)) !== false) { $pos++; } else { return 'text/html'; } } elseif (substr($body, $pos, 1) === '?') { if ($pos < $len && ($pos = strpos($body, '?>', $pos)) !== false) { $pos += 2; } else { return 'text/html'; } } elseif (substr($body, $pos, 3) === 'rss' || substr($body, $pos, 7) === 'rdf:RDF') { return 'application/rss+xml'; } elseif (substr($body, $pos, 4) === 'feed') { return 'application/atom+xml'; } else { return 'text/html'; } } return 'text/html'; }Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
src/wp-includes/SimplePie/src/Content/Type/Sniffer.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.