Форум сетевых администраторов
Показаны 8 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- чтение определенной строки текстового файла (http://netadmin.ws/forum/showthread.php?threadid=6068)


Помещено dafich 15-07-2003 в 22:16:

чтение определенной строки текстового файла

подскажите как читать определенную строку, допустим строку которая начинается с цифр 168
(на PHP)


Помещено webgrs 15-07-2003 в 23:38:

$file=file('filename');
$c=count($file);
$c--;
for ($i=0;$i<=$c;$i++) {
if(eregi("168,$file[$i]) and (strpos($file[$i], "168")==0) {$line=$file[$i];}
}
echo "$line - результат";
!пример нерабочий! смотри ниже исправленное


Помещено dafich 16-07-2003 в 00:23:

parse error (в 6 строке) а где понять не могу

<?
$file=file('test.dat');
$c=count($file);
$c--;
for ($i=0; $i<=$c; $i++) {
if(eregi("168", $file[$i]) and (strpos($file[$i], "168")==0) {$line=$file[$i];}
}
echo $line;
?>


Помещено Orliha 16-07-2003 в 10:15:

кавычки на апострофы

__________________
RTFM (Уважаемые! Читайте документацию!)


Помещено webgrs 17-07-2003 в 00:03:

<?
$stringtofind='168';
$file=file('test.dat');
$c=count($file);
$c--;
for ($i=0; $i<=$c; $i++) {
if((eregi($stringtofind, $file[$i])) and (strpos($file[$i], $stringtofind)==0)) {$line=$file[$i];}
}
echo $line;
?>
Вот рабочий пример, прости за прошлый, было лень тестить.


Помещено Kfmook 17-07-2003 в 02:18:

а зачем двойная проверка:

PHP:


if([b](eregi($stringtofind, $file[$i]))[/b] and [b](strpos($file[$i], $stringtofind)==0)[/b]) {$line=$file[$i];}


кода можно просто:

PHP:

if( substr($file[$i], 0, strlen($stringtofind))==$stringtofind) { echo $file[$i];}


вот соптимизированный код:

PHP:

<?
$stringtofind
='168';
$file=file('test.dat');
foreach (
$file as $line) {
  if( 
substr($line, 0, strlen($stringtofind))==$stringtofind) { 
     echo 
$line;
  }
}
?>

__________________
http://simpsons.ykt.ru - русский портал о Симпсонах


Помещено Kirill_M 14-02-2004 в 00:20:

Вопрос почти аналогичный: нужно из html-файла считать строки, заключённые в тэги <title></title> (получим $titletext), <body></body> (получим $bodytext), при этом нужно выбросить все html-тэги и оставить только чистый текст.

Также требуется записать имя обрабатываемого файла в переменную $filename, причём должен сохраняться путь к этому файлу от корня сайта (forum/index.html, например).

Предполагается массовая обработка html-файлов на сайте с заходом во все директори и поддиректории, которые есть на сайте.

Как это правильно сделать?

__________________
Кирилл


Помещено nopox 14-02-2004 в 17:38:

Имхо лучше так


PHP:


<? 

   $stringtofind 
= '168'; 
   
$file = file('test.dat'); 

   foreach (
$file as $line) { 
     if (
ereg ($stringtofind, "^$line")) echo $line; 
   } 
?> 


Формат времени GMT. Текущее время 15:32.
Показаны 8 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.