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

Форум PHP

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

 

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

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

тема: Поиск по HTML-файлам
 
 автор: 1999   (12.06.2007 в 18:13)   письмо автору
 
 

не занимался пхп с месяц и уже тупые проблемы...
в папке находится куча htm-файлов. хочу сделать поиск по ним.
собственно ради чего и пишу в index.php такое:


<form method="post">
Слово для поиска: <input name="slovo" style="width: 200px; font-weight: bold;" /><br />
<input type="submit" name="go" value="Искать!" />
</form><hr />

<?php
error_reporting
(E_ALL & ~E_NOTICE);

if ( isset( 
$_POST['go'] ) )
{
    
$slovo $_POST['slovo'];
    
$dir opendir"." );

    while ( ( 
$current readdir$dir ) ) !== false )
    {
        if ( 
$current == "." || $current == ".." || $current == "_pic_" || $current == "index.php" ) continue;

        
$fp file_get_contents$current );
        
$fp str_replace"\r\n","",trim$fp ) );
        
$fp str_replace"\n","",$fp );

        
$fou substr_count$fp,$slovo );

        if ( 
$fou != )
        {
            
$found[] = array( 'file' => $current,'times' => $fou );
        }
    }

    for ( 
$i=0;$i<sizeof$found );$i++ )
    {
        echo 
"<a href='".$found[$i]['file']."'>".$found[$i]['file']." (".$found[$i]['times']." совпадений )</a><br />";
    }

    
closedir$dir );
}

?>



скрипт гад молчит... и говорит, что в каждом из файлом он ни разу не нашел искомой строки... substr_count то есть... а вот stristr в каждом из файлов например находит строку "пользов" (она в них действительно есть). в чем проблема?

   
 
 автор: kasmanaft   (12.06.2007 в 18:19)   письмо автору
 
   для: 1999   (12.06.2007 в 18:13)
 

substr_count регистрозависима, может быть в этом дело?

   
 
 автор: 1999   (12.06.2007 в 18:20)   письмо автору
 
   для: kasmanaft   (12.06.2007 в 18:19)
 

да нет... там банальнейшие слова не проходят.. предлоги например - всегда выдает ноль

   
 
 автор: bronenos   (12.06.2007 в 18:23)   письмо автору
 
   для: 1999   (12.06.2007 в 18:20)
 

думаю пробелы стироать не обязательно... вернее перводы строк

   
 
 автор: 1999   (12.06.2007 в 18:31)   письмо автору
 
   для: bronenos   (12.06.2007 в 18:23)
 

ахтунг... я и без этог опробовал))
просто думал в этом дело.. оказалось разницы ноль

   
 
 автор: kasmanaft   (12.06.2007 в 18:32)   письмо автору
 
   для: 1999   (12.06.2007 в 18:20)
 

Возможно, проблемы с локалью.. stristr всё равно до регистра, а substr_count путается в пляшущих буквах. Попробуйте какую-нибудь ucfirst, strtolower - если они неправильно работают, значит проблема с локалью. Хотя... может быть я чушь сказал насчет пляшущих букаф :)

   
 
 автор: 1999   (12.06.2007 в 18:53)   письмо автору
 
   для: kasmanaft   (12.06.2007 в 18:32)
 

кхм... локаль не юзал... не знаю как

   
 
 автор: kasmanaft   (12.06.2007 в 19:11)   письмо автору
 
   для: 1999   (12.06.2007 в 18:53)
 

Попробуйте поиск по слову "setlocale" - вот недавно несколько тем было насчет этого.
Ну или в ман.. там переведено..

   
Rambler's Top100
вверх

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