<?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.
Вот код :
Код:
Тестовый код
Код:
<?php
if (eregi('Тест УФО', 'Тест уфология'))
{
echo '+';
}
?>
if (eregi('Тест УФО', 'Тест уфология'))
{
echo '+';
}
?>
Работает нормально, то есть eregi действительно регистронезависим,
а поиск почему-то регистрозависим :( .
Код:
$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++;//Счётчик
}
}
while (!feof($f)) //Чтение данных
{
$text = fgets($f); //Текст ссылки
$link = fgets($f); //Линк ссылки
if (stristr($text, $_GET['search'])
{
echo '<a href="' . $link . '">' . $text . '</a>';
$count++;//Счётчик
}
}
Попробуйте так.
У меня как-то была проблемка. Как-то под линукс скрипт писался. Дык под линукс нужно еще локаль было указывать, иначе не переводил в нужный регистр. Посмотри, мот у тя тоже сервак в инете на линуксе?
Если там нормальный сервер, то он по-любому на Linux или FreeBSD.
stristr тоже не работал...
Чё скажете?
Выложи пример файла по которому идет поиск
Сервер, как я указал был действительно был поднят на Lunix.
Локализация для русскогоязыка отсутствовала, stristr cледовательно регистр не переводил, пришлось написать функцию для перевода текста в нижний регистр.
Но спасибо за setlocale() - своими мозгами проверить локализацию догадался бы лет через 10-15.
И спасибо за stristr - действительно, работает быстрее...