<?
function in_arr($ch)
{
$rus_c = array("а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ"," ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю ","Я");
$eng_c = array("a","b","c","d","e","f","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q" ,"R","S","T","U","V","W","X","Y","Z");
$eng_len=count($eng_c);
$rus_len=count($rus_c);
for($i=0;$i<$eng_len;$i++)
if($eng_c[$i]==$ch)
$yn = 1;
for($i=0;$i<$rus_len;$i++)
if($rus_c[$i]==$ch)
$yn = 1;
if ($yn == 1)
return 1;
else
return 0;
}
$str = "fdsfd";
for($i=0;$i<5;$i++)
if(in_arr($str[$i]))
echo "1";
?>
$str = "латинские буквы", то функция возвращает 1
$str = "русские буквы", то функция возвращает ноль,как буд-то их не видит(В чем дело может быть?
Спустя 11 минут, 25 секунд (24.01.2011 - 12:11) Bezdna написал(а):
Цитата (mixer @ 24.01.2011 - 11:59) |
В чем дело может быть? |
В кодировке.
Спустя 1 минута, 30 секунд (24.01.2011 - 12:12) mixer написал(а):
А как быть?
Спустя 1 минута, 49 секунд (24.01.2011 - 12:14) Админ написал(а):
да тупо в кодировке - у меня твоя функция замечательно с русскими буквами работает
Спустя 1 минута, 35 секунд (24.01.2011 - 12:16) mixer написал(а):
В смысле нужно поменять кодировку самой старницы? А какая кодировка у твоей страницы?
Спустя 3 минуты, 9 секунд (24.01.2011 - 12:19) mixer написал(а):
Всем спасибо. Разобрался.
Спустя 1 минута (24.01.2011 - 12:20) Админ написал(а):
тебе сюда
кодировка
кодировка
Спустя 42 минуты, 32 секунды (24.01.2011 - 13:02) dima4321 написал(а):
set locale
Спустя 6 минут, 54 секунды (24.01.2011 - 13:09) mixer написал(а):
Подскажите в чем дело. Если страница закодирована в ANSI, то с русскими буквами работает, тот же самый код в utf-8, не хочет работать(
Спустя 14 минут, 54 секунды (24.01.2011 - 13:24) mixer написал(а):
set locale тоже не помогает(
Спустя 2 часа, 6 минут, 17 секунд (24.01.2011 - 15:31) twin написал(а):
Конструкция $str[$i] не работает с многобайтными кодировками.
А вообще, можно полюбопытствовать, зачем такой код?
А вообще, можно полюбопытствовать, зачем такой код?
Спустя 18 минут, 52 секунды (24.01.2011 - 15:49) mixer написал(а):
У меня есть файл с англ. словами и русским переводом.Я его считываю построчо и обрабатываю строку посимвольно.Эта функция должна была бы определять,является ли текущий символ англ. или русской буквой,а не скобкой и т.п.А она вот барахлит.Потом я выделяю англ. и русское слово и базу MySQL ввожу.Мозг уже взрывается c кодировками)
Спустя 51 минута, 30 секунд (24.01.2011 - 16:41) twin написал(а):
А зачем посимвольно? Это делается регулярками вообще то.
Спустя 6 минут, 24 секунды (24.01.2011 - 16:47) mixer написал(а):
Извините, а регулярки это что?
Спустя 9 минут, 17 секунд (24.01.2011 - 16:57) twin написал(а):
Спустя 8 минут, 39 секунд (24.01.2011 - 17:05) mixer написал(а):
Спасибо.Принял к сведению.Моя программа заработала.Все ок.Всем еще раз спасибо за помощь:)
Спустя 1 минута, 34 секунды (24.01.2011 - 17:07) Dron19 написал(а):
Цитата (twin @ 24.01.2011 - 12:31) |
Конструкция $str[$i] не работает с многобайтными кодировками. А вообще, можно полюбопытствовать, зачем такой код? |
в данном случае должно все работать, потому что он обращается к элементу массива как к массиву, вот если объявить обычную строковую переменную, то к ней как к массиву нельзя будет обратиться, если там русские символы.
Спустя 49 минут, 53 секунды (24.01.2011 - 17:57) twin написал(а):
Заработала функция или программа? Очень надеюсь, что прграмма без этой функции. Иначе все что жил, то зря.