<?php namespace nur\ldap\syntaxes; class PostalAddressSyntax extends StringSyntax { function php2ldap($value): ?string { $value = parent::php2ldap($value); if ($value === null) return null; // mettre en échappement tout caractère $ $value = str_replace('$', '\$', $value); $value = preg_replace('/\r?\n/', '$', $value); $value = preg_replace('/\s*(?<!\\\\)\$\s*/', ' $ ', $value); return $value; } function ldap2php(string $value): string { $value = preg_replace('/\s*(?<!\\\\)\$\s*/', "\n", $value); $value = preg_replace('/\\\\\$/', '$', $value); return $value; } }