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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выводить строку по количеству символов...

Сообщения:  [1-10]   [11-15] 

 
 автор: ZetRider   (13.03.2006 в 16:52)   письмо автору
 
   для: ck   (13.03.2006 в 01:32)
 

хм.. а он выводит только строки с 1 по 5-ую ((( а после 5-ой строки есть же еще и 6 и 7 и 8....тоесть если выводить по 5 сообщений то он должен уже вывести не с 1 по 5-ую строку а с 4,5,6,7,8...

   
 
 автор: ck   (13.03.2006 в 01:32)   письмо автору
 
   для: ZetRider   (11.03.2006 в 14:38)
 

Если их нужно вывести в той же последовательности, что в файле, то так:

<?php
$open 
fopen('1.txt''r');
for(
$a=1$a<=5$a++) {
  
$row fgets($open);
  list(
$name$msg$time$ip) = explode(":"$row);
  print  
"<b>$name :</b>";
  for(
$i=0$i<=strlen($msg); $i+=5) {
    echo 
substr($msg$i5). "<br>";
  }
}
?>

А если в обратной, то:

<?php
$file 
file('1.txt');
for(
$a=4$a>=0$a--) {
  
$row $file[$a];
  list(
$name$msg$time$ip) = explode(":"$row);
  print  
"<b>$name :</b>";
  for(
$i=0$i<=strlen($msg); $i+=5) {
    echo 
substr($msg$i5). "<br>";
  }
}
?>

   
 
 автор: ZetRider   (11.03.2006 в 14:38)   письмо автору
 
   для: ZetRider   (11.03.2006 в 11:35)
 

Может есть проще код который выводит из файла только первые 5 строк?

   
 
 автор: ZetRider   (11.03.2006 в 11:35)   письмо автору
 
   для: JIEXA   (11.03.2006 в 11:26)
 

не.. тот который раньше был он нормальный...

А вот етот код

<? 
$file
=file("text.txt"); # будем считывать строки с файла text.txt 
$strings="5"# количество считываемых строк 

    
for($i_str=0;$i_str<$strings;$i_str++) 
   { 
   
$string.=$arr[$i_str]; 
   } 

echo 
$string
?>


можна как нить внедрить в:

<?php 
  $arr 
file("1.txt"); 
  
krsort($arr); 
  foreach (
$arr as $row) { 
    list(
$name$msg$time$ip) = explode(":"$row); 
    print  
"<b>$name :</b>"
  for(
$i=0$i<=strlen($msg); $i+=5) { 
  echo 
substr($msg$i5). "<br>"

  } 

?>

   
 
 автор: JIEXA   (11.03.2006 в 11:26)   письмо автору
 
   для: JIEXA   (11.03.2006 в 11:14)
 

Что-то я вчеро видимо был пьян.. Все можно сделать гараздо проще:
<?php 
$arr 
file("1.txt"); 
krsort($arr); 
foreach (
$arr as $row

    list(
$name$msg$time$ip) = explode(":"$row); 
    print  
"<b>$name :</b>"
    
wordwrap($msg5"<br>\n"1);

?>

   
 
 автор: JIEXA   (11.03.2006 в 11:14)   письмо автору
 
   для: ZetRider   (11.03.2006 в 10:34)
 

Вот так:

<?php 
  $arr 
file("1.txt"); 
  
krsort($arr); 
  foreach (
$arr as $row) { 
    list(
$name$msg$time$ip) = explode(":"$row); 
    print  
"<b>$name :</b>";
  for(
$i=0$i<=strlen($msg); $i+=5) { 
  echo 
substr($msg$i5). "<br>"

  } 

?>

   
 
 автор: ZetRider   (11.03.2006 в 10:34)   письмо автору
 
   для: Drago   (11.03.2006 в 10:07)
 

ага, но всеже)) есть 1 но.
Код:

<?php
  $arr 
file("1.txt"); 
  
krsort($arr); 
  foreach (
$arr as $row) { 
    list(
$name$msg$time$ip) = explode(":"$row); 

  for(
$i=0$i<=strlen($msg); $i+=5) { 
  echo 
"<b>$name :</b>" .substr($msg$i5). "<br>";
}
  }

?>


выводит имя:сообщение и если сообщение длинное то он его ризбивает по строкам с интервалом 5 символов, но когда он переносит остальное после 5-ти символов, скрипт думает что ето новое сообщение, и приписывает к нему имя, тоесть если сообщение выглядит так:
1234567890
после обработки скриптом он его разбивает так
12345
67890
Но к каждой новой строке он приписывает
$name 12345
$name 67890
, ну рас ето 1 строка то ненужно чтобы он приписывал к ней $name,..
Как мона етот глюк убрать?

   
 
 автор: Drago   (11.03.2006 в 10:07)   письмо автору
 
   для: ZetRider   (11.03.2006 в 09:56)
 

Точку пропустил перед substr.

  echo "<br /><b>$name :</b>" .substr($msg, $i, 5)."<br />\n";

   
 
 автор: ZetRider   (11.03.2006 в 09:56)   письмо автору
 
   для: ZetRider   (11.03.2006 в 09:21)
 

Всетаки сделал так:


<?php
  $arr 
file("1.txt"); 
  
krsort($arr); 
  foreach (
$arr as $row) { 
    list(
$name$msg$time$ip$id) = explode(":"$row); 

  for(
$i=0$i<=strlen($msg); $i+=5) { 
  echo 
"<b>$name :</b>" .substr($msg$i5). "<br />\n";
}
  }

?>

   
 
 автор: ZetRider   (11.03.2006 в 09:21)   письмо автору
 
   для: ck   (11.03.2006 в 01:25)
 

А разбивать нужно строку, которая идет $msg... Логи в файлах зранятся так:
ZetRider:Привет! Как дела?:11.03.06:127.0.0.1:

тоесть msg идет после ника.

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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