WP_oEmbed::_parse_xml( string $response_body ): object|false

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Parses an XML response body.

Parameters

$response_bodystringrequired

Return

object|false

Source

private function _parse_xml( $response_body ) {
	if ( ! function_exists( 'libxml_disable_entity_loader' ) ) {
		return false;
	}

	if ( PHP_VERSION_ID < 80000 ) {
		/*
		 * This function has been deprecated in PHP 8.0 because in libxml 2.9.0, external entity loading
		 * is disabled by default, so this function is no longer needed to protect against XXE attacks.
		 */
		$loader = libxml_disable_entity_loader( true );
	}

	$errors = libxml_use_internal_errors( true );

	$return = $this->_parse_xml_body( $response_body );

	libxml_use_internal_errors( $errors );

	if ( PHP_VERSION_ID < 80000 && isset( $loader ) ) {
		// phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.libxml_disable_entity_loaderDeprecated
		libxml_disable_entity_loader( $loader );
	}

	return $return;
}

Changelog

VersionDescription
3.0.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.