Salve,
sto cercando di impiegare la seguente funzione per la convalida della username
public static function validUserName($in_uname)
{
$in_uname = trim($in_uname);
$min = UserManager::LEN_UNAME_MIN;
$max = UserManager::LEN_UNAME_MAX;
/**
* Note that we have to escape the { since otherwise PHP
* would interpret it as part of a variable expansion.
*/
$pattern = "/[[:alnum:] _-]\{$min,$max}/";
return preg_match($pattern, $in_uname);
}
Se utilizzo \ per l'escape $pattern è uguale a [[:alnum:] _-]\{8,50} e quindi mi resituisce false come se il valore di username fosse errato.
Se invece non utilizzo \ per fare l'escape prima di {$min,$max} mi da un errore come se vedessa la graffa facente parte della funzione e non della variabile $pattern.
Ho anche provato a togliere \ e utilizzare gli apici ' prima e dopo $min,$max, ma anche in questo caso $pattern non va bene perchè diventa [[:alnum:] _-]{'8,50'}.
Non so proprio come risolvere il problema.