| |
|
|
| | не занимался пхп с месяц и уже тупые проблемы...
в папке находится куча 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 != 0 )
{
$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 в каждом из файлов например находит строку "пользов" (она в них действительно есть). в чем проблема? | |
| |
|
|
| |
|
|
| |
для: 1999
(12.06.2007 в 18:13)
| | | substr_count регистрозависима, может быть в этом дело? | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(12.06.2007 в 18:19)
| | | да нет... там банальнейшие слова не проходят.. предлоги например - всегда выдает ноль | |
| |
|
|
| |
|
|
| |
для: 1999
(12.06.2007 в 18:20)
| | | думаю пробелы стироать не обязательно... вернее перводы строк | |
| |
|
|
| |
|
|
| |
для: bronenos
(12.06.2007 в 18:23)
| | | ахтунг... я и без этог опробовал))
просто думал в этом дело.. оказалось разницы ноль | |
| |
|
|
| |
|
|
| |
для: 1999
(12.06.2007 в 18:20)
| | | Возможно, проблемы с локалью.. stristr всё равно до регистра, а substr_count путается в пляшущих буквах. Попробуйте какую-нибудь ucfirst, strtolower - если они неправильно работают, значит проблема с локалью. Хотя... может быть я чушь сказал насчет пляшущих букаф :) | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(12.06.2007 в 18:32)
| | | кхм... локаль не юзал... не знаю как | |
| |
|
|
| |
|
|
| |
для: 1999
(12.06.2007 в 18:53)
| | | Попробуйте поиск по слову "setlocale" - вот недавно несколько тем было насчет этого.
Ну или в ман.. там переведено.. | |
| |
|
|