хочу сделать многоязычную отображалку сообщений типа -"вы не ввели логин", "в поле логин - запрещенные символы и т.д и т.п.
в принципе все понятно, сделать массивчики сообщений на разных языках и подставляй себе циферки. Но. есть одна функция которая портит мне малину.
функция для проверки и очистки полей от зловреда:
function cleanStr($regExp, $subjekt, $min, $max, $place){
$regExpArray = array(
"URL" => "[^a-zA-Z0-9\/]",
"EMail" => "~[^a-z0-9\-\_\.\@]~",
"text" => "~[^a-zA-Z0-9\-]~"
);
$count = 0;
$cleanValue = preg_replace($regExpArray[$regExp], '', $subjekt, -1 , $count);
$length = strlen($cleanValue);
if($count > 0) {
msgSend('6', $place);
}
if($length == 0) {
msgSend('0', $place);
}
if($length < $min) {
msgSend('3', $place);
}
if($length > $max) {
msgSend('4', $place);
}
else return $cleanValue;
msgSend()
function msgSend($msg, $place){
$messageArray = array(
/*0*/ "пусто в поле -",
);
$_SESSION['reportMessage'] = $messageArray[$msg].$place;
header('Location:'.$_SERVER['HTTP_REFERER'] , 303);
exit();
}
работало приблизительно так:
$userLogin = cleanStr("text", $_POST['login'], "3", "20", "логин");
//и если в поле "логин" будет пусто то выведет - "пусто в поле - логин".
проблема в том что так не получиться сделать многоязычность. вернее получиться но выглядеть это будет кошмарно.
по всему скрипту после cleanStr() останется много к примеру - Русского текста и что бы пользователь смог поменять язык - нужно будет менять почти весь скрипт.
в общем, не знаю что делать. хочется оставить cleanStr(). она удобная и практичная.
подскажите, как можно реализовать затею в моем случае?