Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск по файлу
 
 автор: Under   (28.04.2007 в 02:51)   письмо автору
 
 

$msgg = explode(",",$msg);
if($msgg[0]=='xz'){
$ar = file('../mind.dat');
for ($i = 0; $i < count($ar); $i++)
{
if (utf_encode($ar[$i])==$msgg[1]) @mysql_query("insert into `".$px.$mtable."` values(0,'ddd','".$ar[$i+1]."','','','".time()."','$room','$ci');");
}
}

в файле mind.dat записаны в столбик(по слову/предложению на строку) слова и предложения мне нада найти слово/предложение которое будет равно $msgg[1]
почемуто неполучается... if (utf_encode($ar[$i])==$msgg[1]) не находит... или гдето ошибка в коде

   
 
 автор: zerocool   (28.04.2007 в 08:44)   письмо автору
 
   для: Under   (28.04.2007 в 02:51)
 

А что за функция utf_encode ?
Возможно имеется ввиду utf8_encode()

   
 
 автор: Under   (28.04.2007 в 17:02)   письмо автору
 
   для: zerocool   (28.04.2007 в 08:44)
 

function unicode ($s) { if ( (ord($s)>=192) & (ord($s)<=255) ) $hexvalue=dechex(ord($s)+848); if ($s=="Ё") $hexvalue="401"; if ($s=="ё") $hexvalue="451"; return("&#x0".$hexvalue.";");}
function utf_encode ($s) { return(preg_replace("/[А-яЁё]/e","unicode('\\0')",$s));}

с эти всё нормально... вроди разобрался... вот чо получилось:

//бот
$msggg=strtolower($msg);
$msggg2 = str_replace(' ', '', $msggg);
$msgg = explode(",",$msggg2);
if($msgg[0]=='xz'){
$ar = file('../mind.dat');
for ($i = 0; $i < count($ar); $i++)
{
$fraza = str_replace(' ', '', $ar[$i]);
$fraza2=strtolower($fraza);
if (trim(utf_encode($fraza2))==$msgg[1]) @mysql_query("insert into `".$px.$mtable."` values(0,'xz','".trim(utf_encode($ar[$i+1]))."','','','".time()."','$room','$ci');");
}
}
но теперь прикол что не всегда выводит..., а если выводит то только на символы не слова типа если написать "?" или еще какой символ, скорей всего глюк в кодировке...,ибо телефон посылает поидеи утф8

   
 
 автор: Trianon   (28.04.2007 в 17:07)   письмо автору
 
   для: Under   (28.04.2007 в 17:02)
 

написанные Вами функции и рядом не лежали с utf-8

   
 
 автор: Under   (28.04.2007 в 17:15)   письмо автору
 
   для: Trianon   (28.04.2007 в 17:07)
 

ну дык понятно =)) мне поидеи нада сделать чтоб кодировка из файла была равна кодировке которую посылает телефон... х.з. как

   
 
 автор: under   (28.04.2007 в 21:31)   письмо автору
 
   для: Under   (28.04.2007 в 02:51)
 

пробывал так... тож чот непахает, точней ваще не выдается...

function utf8_to_win($s)
{
return iconv('UTF-8','WINDOWS-1251',$s);
}
if (trim($fraza2)==utf8_to_win($msgg[1])){

   
 
 автор: Trianon   (28.04.2007 в 21:40)   письмо автору
 
   для: under   (28.04.2007 в 21:31)
 

показали бы, как выглядят строки, которые телефон присылает:


function hex($s) { $v = unpack('H*', $s); return chunk_split($v[1], 2, ' '); }

echo hex($_POST['msg']);

   
 
 автор: Under   (29.04.2007 в 01:28)   письмо автору
 
   для: Trianon   (28.04.2007 в 21:40)
 

спасибо=)) //всё пашет... это проста я кадер забыл, что фунуцию нада писать выше самого кода

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования