2People
Новичок
Регулярные выражения.
Привет, у меня мало опыта работы с рег.выражениями.
Пишу ф-цию для транслитирации.
$name - руские буквы, которые вводит пользователь
$path_name - буквы которые вводит пользователь, в результате они должны быть обязательно английскими и _
Выдаёт Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in mainn.class.php on line 7
Я такой ошибки не встречал. Мне кажется, что я сделал правильно=>ошибку не могу найти
-~{}~ 06.06.06 22:10:
Разобрался! Вернее, вспомнил, что где-то видел
но не понял, почему так надо делать.
$rus=array("'А'", "'Б'", "'В'" ..... и т.д.
Привет, у меня мало опыта работы с рег.выражениями.
Пишу ф-цию для транслитирации.
PHP:
function transliter($name, $min=1, $max=150, $path_name=false){
$rus=array("А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О",
"П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я", "а", "б", "в", "г", "д", "е",
"ё","ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь",
"э", "ю", "я", "-", "_", " ");
$lat=array("A", "B", "V", "G", "D", "E", "E","ZH", "Z", "I", "I", "K", "L", "M", "H", "O",
"P", "R", "S", "T", "U", "F", "H", "C","CH","SH", "SCH", "", "Y", "", "E","YU","YA", "a", "b", "v", "g", "d", "e",
"e","zh","z", "i", "i", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "c","ch","sh","sch", "", "y", "",
"e", "yu", "ya", "_", "_", "_");
$pattern="/^[a-zA-Z0-9_]\{$min,$max\}\$/";
if(!preg_match($pattern,$path_name)){ //tckb с англ. буквами что-то не так, использую русские и транслирую их
$name=preg_replace("/[^а-яА-Я _\-]/","",$name);
$path_name=preg_replace($rus,$lat,$name);
}
$return=$path_name;
}
transliter($name, $min=1, $max=150, $path_name);
$path_name - буквы которые вводит пользователь, в результате они должны быть обязательно английскими и _
Выдаёт Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in mainn.class.php on line 7
Я такой ошибки не встречал. Мне кажется, что я сделал правильно=>ошибку не могу найти

-~{}~ 06.06.06 22:10:
Разобрался! Вернее, вспомнил, что где-то видел

но не понял, почему так надо делать.
$rus=array("'А'", "'Б'", "'В'" ..... и т.д.