<?php namespace nur\ldap\syntaxes; class PrintableSyntax extends StringSyntax { const DISALLOWED = '/[^a-zA-Z0-9"()+,-.\/:? -]+/'; /** enlever les caractères interdit de la chaine */ function filter(?string $value): ?string { if ($value === null) return null; return preg_replace(self::DISALLOWED, "", $value); } function php2ldap($value): ?string { $value = parent::php2ldap($value); if (preg_match(self::DISALLOWED, $value)) { throw new SyntaxException("invalid string: $value"); } return $value; } }