wppaste
WordPress

WP_SimplePie_Sanitize_KSES

Since
3.5.0
Source
wp-includes/class-wp-simplepie-sanitize-kses.php:23
Core class used to implement SimplePie feed sanitization.

Description

Extends the SimplePie\Sanitize class to use KSES, because we cannot universally count on DOMDocument being available.

Compatibility

WordPress
since 3.5.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Methods · 1

  • sanitize()WordPress SimplePie sanitization using KSES.

Source code

#[AllowDynamicProperties]class WP_SimplePie_Sanitize_KSES extends SimplePie\Sanitize { 	/**	 * WordPress SimplePie sanitization using KSES.	 *	 * Sanitizes the incoming data, to ensure that it matches the type of data expected, using KSES.	 *	 * @since 3.5.0	 *	 * @param mixed   $data The data that needs to be sanitized.	 * @param int     $type The type of data that it's supposed to be.	 * @param string  $base Optional. The `xml:base` value to use when converting relative	 *                      URLs to absolute ones. Default empty.	 * @return mixed Sanitized data.	 */	public function sanitize( $data, $type, $base = '' ) {		$data = trim( $data );		if ( $type & SimplePie\SimplePie::CONSTRUCT_MAYBE_HTML ) {			if ( preg_match( '/(&(#(x[0-9a-fA-F]+|[0-9]+)|[a-zA-Z0-9]+)|<\/[A-Za-z][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E]*' . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . '>)/', $data ) ) {				$type |= SimplePie\SimplePie::CONSTRUCT_HTML;			} else {				$type |= SimplePie\SimplePie::CONSTRUCT_TEXT;			}		}		if ( $type & SimplePie\SimplePie::CONSTRUCT_BASE64 ) {			$data = base64_decode( $data );		}		if ( $type & ( SimplePie\SimplePie::CONSTRUCT_HTML | \SimplePie\SimplePie::CONSTRUCT_XHTML ) ) {			$data = wp_kses_post( $data );			if ( 'UTF-8' !== $this->output_encoding ) {				$data = $this->registry->call( 'Misc', 'change_encoding', array( $data, 'UTF-8', $this->output_encoding ) );			}			return $data;		} else {			return parent::sanitize( $data, $type, $base );		}	}}

Changelog

Introduced in 3.5.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 tag, from src/wp-includes/class-wp-simplepie-sanitize-kses.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.