WP_oEmbed::_parse_xml_body()privateWP 3.6.0

Serves as a helper function for parsing an XML response body.

Метод класса: WP_oEmbed{}

Хуков нет.

Возвращает

stdClass|false.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->_parse_xml_body( $response_body );
$response_body(строка) (обязательный)
-

Список изменений

С версии 3.6.0 Введена.

Код WP_oEmbed::_parse_xml_body() WP 6.7.1

private function _parse_xml_body( $response_body ) {
	if ( ! function_exists( 'simplexml_import_dom' ) || ! class_exists( 'DOMDocument', false ) ) {
		return false;
	}

	$dom     = new DOMDocument();
	$success = $dom->loadXML( $response_body );
	if ( ! $success ) {
		return false;
	}

	if ( isset( $dom->doctype ) ) {
		return false;
	}

	foreach ( $dom->childNodes as $child ) {
		if ( XML_DOCUMENT_TYPE_NODE === $child->nodeType ) {
			return false;
		}
	}

	$xml = simplexml_import_dom( $dom );
	if ( ! $xml ) {
		return false;
	}

	$return = new stdClass();
	foreach ( $xml as $key => $value ) {
		$return->$key = (string) $value;
	}

	return $return;
}