Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Важно!!! Помогите с созданием поиска на php.

536
15 августа 2008 года
alex-kniaz
382 / / 07.08.2008
Поиск сделал, прямо сканирующий файл
Вот код :
Код:
<?php
$f = fopen("material.dat","r"); //Файл с описаниями
while (!feof($f)) //Чтение данных
{
  $text = fgets($f); //Текст ссылки
  $link = fgets($f);  //Линк ссылки
  if (eregi($_GET['search'],$text)
//Проверка на наличие в тексте ссылки текста переданного как параметр
// в _GET
  {
    echo '<a href="' . $link . '">' . $text . '</a>';
//Если нашлось - отображаем
    $count++;//Счётчик
  }
  ...
}
?>


Тестовый код
 
Код:
<?php
if (eregi('Тест УФО', 'Тест уфология'))
{
  echo '+';
}
?>

Работает нормально, то есть eregi действительно регистронезависим,
а поиск почему-то регистрозависим :( .
13
16 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
А зачем вам eregi? Во-первых, он устарел и его не будет в свежих версиях языка. Во-вторых, есть более быстрая функция, которая вам подойдет - stristr()

Код:
$f = fopen("material.dat","r"); //Файл с описаниями
while (!feof($f)) //Чтение данных
{
  $text = fgets($f); //Текст ссылки
  $link = fgets($f);  //Линк ссылки
  if (stristr($text, $_GET['search'])
  {
    echo '<a href="' . $link . '">' . $text . '</a>';
    $count++;//Счётчик
  }
}


Попробуйте так.
40K
16 августа 2008 года
maximus007
8 / / 16.08.2008
У меня как-то была проблемка. Как-то под линукс скрипт писался. Дык под линукс нужно еще локаль было указывать, иначе не переводил в нужный регистр. Посмотри, мот у тя тоже сервак в инете на линуксе?
13
16 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
Если там нормальный сервер, то он по-любому на Linux или FreeBSD.

Можно сделать программно из РНР

http://ru.php.net/manual/ru/function.setlocale.php
536
16 августа 2008 года
alex-kniaz
382 / / 07.08.2008
Да, сервак на Линуксе...
stristr тоже не работал...
Чё скажете?
13
16 августа 2008 года
RussianSpy
3.0K / / 04.07.2006
Выложи пример файла по которому идет поиск
536
16 августа 2008 года
alex-kniaz
382 / / 07.08.2008
Спасибо, но я почти сам разобрался...
Сервер, как я указал был действительно был поднят на Lunix.
Локализация для русскогоязыка отсутствовала, stristr cледовательно регистр не переводил, пришлось написать функцию для перевода текста в нижний регистр.
Но спасибо за setlocale() - своими мозгами проверить локализацию догадался бы лет через 10-15.
И спасибо за stristr - действительно, работает быстрее...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог