wpseek.com
A WordPress-centric search engine for devs and theme authors



filter_block_content › WordPress Function

Since5.3.1
Deprecatedn/a
filter_block_content ( $text, $allowed_html = 'post', $allowed_protocols = array() )
Parameters: (3)
  • (string) $text Text that may contain block content.
    Required: Yes
  • (array[]|string) $allowed_html Optional. An array of allowed HTML elements and attributes, or a context name such as 'post'. See wp_kses_allowed_html() for the list of accepted context names. Default 'post'.
    Required: No
    Default: 'post'
  • (string[]) $allowed_protocols Optional. Array of allowed URL protocols. Defaults to the result of wp_allowed_protocols().
    Required: No
    Default: array()
Returns:
  • (string) The filtered and sanitized content result.
Defined at:
Codex:

Filters and sanitizes block content to remove non-allowable HTML from parsed block attribute values.



Source

function filter_block_content( $text, $allowed_html = 'post', $allowed_protocols = array() ) {
	$result = '';

	if ( str_contains( $text, '<!--' ) && str_contains( $text, '--->' ) ) {
		$text = preg_replace_callback( '%<!--(.*?)--->%', '_filter_block_content_callback', $text );
	}

	$blocks = parse_blocks( $text );
	foreach ( $blocks as $block ) {
		$block   = filter_block_kses( $block, $allowed_html, $allowed_protocols );
		$result .= serialize_block( $block );
	}

	return $result;
}