PHP-Code in validierung_OOP/01_step/class/ValidationPassword.class.php

<?php
class ValidationPassword {
    // Flag für den Status der Validation
    public $hasErrors = false;
    // Array für die Fehlermeldungen
	public $errorsArr = [];

    // Schadcode herausputzen
    function desinfect($str) {
        $str1 = strip_tags($str);
        $str2 = preg_replace('/\x00|<[^>]*>?/', '', $str1);
        $str3 = str_replace(["'", '"'], ['&#39;', '&#34;'], $str2);
        $str4 = htmlspecialchars($str3);
        $str5 = trim($str4);
        return $str5;
    }

    // Mit einem Regex überprüfen, ob das Passwort gültig ist 
    function isPasswordCorrect($str) {
        // Aufruf der Methode desinfect(), bevor weiter gearbeitet wird
        $cleanStr = $this -> desinfect($str);
        
		$suchmuster = '/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@%&*-]).\S{8,}$/';
		if (!preg_match($suchmuster, $cleanStr)) {
			$this -> hasErrors = true;
            $this -> errorsArr[] = "Das Passwort entspricht nicht den Vorgaben.";
		}

        return $cleanStr;
	}
}