Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Не понимает украинскую букву і


Рекомендуемые сообщения

вот собственно сам скрипт:

<?include ("1.php");// форма для поиска$form = "<TABLE WIDTH=\"100%\" border=\"1\" cellpadding=\"3\" cellspacing=\"3\"><tr><td align=\"center\"><b>Поиск номера абонента по фамилии<font style=\"color: darkgreen; font-size: 10px;\">г.Сторожинец (Сторожинецький район)</font></b></td></tr><TR><TD><form name=\"formsearch\"  action=\"../city/search.php\"><input type=\"hidden\" name=\"seenform\" value=\"y\"><font style=\"color: black; font-size: 15px;\">Кого ищем:</font> <input type=\"text\" size=\"35\" name=\"zapros\" value=$zapros><input type=\"submit\" name=\"Submit\" value=\" Поиск! \"><BR><font style=\"color: red; font-size: 10px;\">поисковик чуствителен к регистру (фамилии пишите с заглавной буквы)</font></form></TD></TR><TR><TD><b>РЕЗУЛЬТАТ:</b></TD></TR></TABLE>";if ($seenform != 'y')	print $form;if ($seenform == 'y'){print $form;$fp = fopen ($searchfile, "r"); while (!feof($fp)){$read = fgets($fp, 1000); list($tel,$name,$adr) = split(' : ' ,$read);if (ereg($zapros,$tel)){//if ($zapros == $tel)print "<table border=\"1\" width=\"100%\" cellspacing=\"1\" cellpadding=\"3\"><tr><td><?include(\"top_menu.php\")?></td></tr><tr><td width=\"100%\" colspan=\"3\"><b>абонент:</b></td></tr><tr><td width=\"30%\"><font style=\"font-family:georgia, verdana, arial, sans-serif; color:#666; font-size:13;\">Фамилия :<b> $tel </b></TD><TD width=\"30%\">Номер:  <b> $name</b>  </TD><TD width=\"30%\">  Адрес: <b>$adr</b></font></td></tr></table>";}		  }}?>

у кого какие будут предложения? :g:

я на Вас народ очень расчитываю... :)

Ссылка на комментарий
Поделиться на другие сайты

Если честно, странный скрипт какой-то…

Во первых он производит поиск тока по номерам… (или это не полный код?) а во вторых когда он не понимает? Например если задать поиск «Філіппов» (и припустит что в базе он есть) то он его не найдет потому что там есть «і», а если фамилия без «і» то находит?

Ссылка на комментарий
Поделиться на другие сайты

Во первых он производит поиск тока по номерам… (или это не полный код?) а во вторых когда он не понимает?
Чуть обьясню:

этот скрипт производит поиск только по фамилиям в базе данных (в качестве БД - файл ТХТ)

Например если задать поиск «Філіппов» (и припустит что в базе он есть) то он его не найдет потому что там есть «і», а если фамилия без «і» то находит?
именно так, но есть одно "но" - если в запросе задать вместо і украинской английскую тогда тоже находит :)
Ссылка на комментарий
Поделиться на другие сайты

если в запросе задать вместо і украинской английскую тогда тоже находит :D

А не может быть такого, что в файле i как раз английские?

Ссылка на комментарий
Поделиться на другие сайты

А не может быть такого, что в файле i как раз английские?
нет, потому-что этот файл я сам коректировал...
Ссылка на комментарий
Поделиться на другие сайты

Написал скрипт… В принципе твоей проблемы в нем нет, он даже не чувствительный к регистру, но тока не ко всем буквам, это есть нехорошо.

Хотел сделать так:

………$sech= strtolower($sech);$last_name= strtolower($last_name);if ( eregi($sech, $last_name)== TRUE ) {………

т.е. сравнивать в нижнем регистре, но буквы “ї”, “є”, “я”, “ч” и все та же “і” не сводятся к одному регистру

Итак окончательный (и наконец рабочий) вариант - пишем функцию которая сводит к нижнему регистру:

function symboltolower($str) {$str= strtolower($str);for ( $i=0; $i< strlen($str); $i++ ) {if ( $str[$i]== "Ї") $str[$i]= "ї";if ( $str[$i]== "Є") $str[$i]= "є";if ( $str[$i]== "Я") $str[$i]= "я";if ( $str[$i]== "Ч") $str[$i]= "ч";if ( $str[$i]== "І") $str[$i]= "і";}return $str;}

сравниваем только после ее применения.

здесь – окончательный вариант скрипта.

Думаю (даже уверен) что есть более простой способ, но пока можно и это поюзать…

Пиши о результате…

Ссылка на комментарий
Поделиться на другие сайты

я чего-то не могу качнуть окончательній вариант ... :)

скинь на мыло ...

уже качнул...

ща проверю......

Изменено пользователем verba
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...