# ablocks/2.16.0/includes/blocks/form-builder/block-attr-sanitizer/sanitizer.php

aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder &amp; Animation Builder, version 2.16.0. 42 lines.

- Page: https://pluginprobe.com/plugins/ablocks/2.16.0/code/includes/blocks/form-builder/block-attr-sanitizer/sanitizer.php
- Raw: https://pluginprobe.com/plugins/ablocks/2.16.0/raw/includes/blocks/form-builder/block-attr-sanitizer/sanitizer.php
- Modified: 2025-03-06T07:54:56+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/ablocks/2.16.0/code/includes/blocks/form-builder/block-attr-sanitizer/sanitizer.php#L10-L20`.

```php
<?php
namespace ABlocks\Blocks\FormBuilder\BlockAttrSanitizer;

use ABlocks\Blocks\FormBuilder\BlockAttrSanitizer\interfaces\{
	SanitizerInterface,
	SanitizerBaseInterface
};
use ABlocks\Blocks\FormBuilder\BlockAttrSanitizer\Exceptions\BlockNotFoundException;
use ABlocks\Blocks\FormBuilder\BlockAttrSanitizer\Sanitizers\FormBuilder\RegistrationFormSanitizer;
use WP_Post;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

class Sanitizer implements SanitizerBaseInterface {

	protected array $sanitizers = [
		RegistrationFormSanitizer::class
	];

	public function sanitize( int $post_id, WP_Post $post, bool $update ): void {
		try {
			foreach ( $this->sanitizers as $sanitizer ) {
				$instance = ( new $sanitizer( $post ) );
				if (
					class_exists( $sanitizer ) &&
					$instance instanceof SanitizerInterface
				) {
					$instance->sanitize();
				}
			}
		} catch ( BlockNotFoundException $e ) {
			$instance->log( $e->getMessage() );
		}
	}
	public static function init() : void {
		$instance = new self();
		add_action( 'save_post', [ $instance, 'sanitize' ], 10, 3 );
	}
}

```
