Автор Тема: Чтение строк из файла  (Прочитано 7935 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Berkut

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Чтение строк из файла
« : 28 Февраля 2004, 09:38:46 »
Есть файл с текстом.По какому принципу можно сделать вот такую вещь:
$a= первая строка из файла
$b= вторая строка
$c= всё остальное

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Чтение строк из файла
« Ответ #1 : 28 Февраля 2004, 10:22:41 »
[p]file_get_contents[/p] [p]file[/p] [p]fopen[/p]
по принципу чтения мана и размышлений
ну, будем исповедоваться?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Чтение строк из файла
« Ответ #2 : 28 Февраля 2004, 12:54:53 »
Berkut
вообще-то, вариантов масса.
очень жаль, что человек довольно давно находящийся на форуме, не видит даже приблизительных путей решения.
неужели тебе незнакома, к примеру, команда file?

Оффлайн Berkut

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Чтение строк из файла
« Ответ #3 : 28 Февраля 2004, 16:17:57 »
да это я уже сделал. вот теперь вопрос другой вопрос встал,как слово,содержащееся в строке,если его длина больше,допустим 10 символов .пока вот придумал такую вещь:

if (strlen($b[$i])>10)
                {

                        
$g=strlen($b[$i]);
                        for (
$cicle=0$cicle<$g+1$cicle+=10)
                        {

                                
$vsp=substr($b[$i], $cicle10); #.substr($b[$i], $cicle+10, strlen($b[$i]));
                                
$sp=$sp." ".$vsp." ";
                        }
                        
$c.=$sp;

                }

Где $b[$i]-слово из строки, но вот как повынимать слова из строки???забацать кучу циклов со всякими substr_count и strpos($stroka, " ",$i)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Чтение строк из файла
« Ответ #4 : 28 Февраля 2004, 17:56:53 »
Цитировать
вот теперь вопрос другой вопрос встал,как слово,содержащееся в строке,если его длина больше,допустим 10 символов

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

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Чтение строк из файла
« Ответ #5 : 28 Февраля 2004, 18:04:27 »
RomikChef
Я против. Нехорошо над людьми издеваться :)

Berkut
Цитировать
вот как повынимать слова из строки?

$words=explode(" ",$string);
Цитировать
,как (что?) слово,содержащееся в строке

:)
Если ты еще обьяснишь, на фига тебе всё это понадобилось...
LJ: Backslashed life (rss)

Оффлайн Berkut

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Чтение строк из файла
« Ответ #6 : 29 Февраля 2004, 00:46:06 »
да..... чё-то я понаписал в торопях.......
я написал некое подобие гостевой книги(без MySQL,на файлах),а  нужно было разбивать очень длинные слова в сообщениях,что-бы в случае чего не испортился дизайн гостевухи.
CGVictor - огромное человеческое спасибо,а то бы я щас писал кучу циклов,что-бы выдирать слова из строки

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Чтение строк из файла
« Ответ #7 : 01 Марта 2004, 16:18:06 »
Berkut
Я делал проще: верстал ХТМЛ-ку так, чтобы динное слово не давало страничке разьехаться. Браузер рвет слово сам, если блочный элемент не может раздвигаться И его родительский элемент тоже задан жестко.
А делать это на сервере немного неэкономично. Хотя для гостевухи сойдет. Вот если бы на сервере анализировалось слово и расставлялись правильные русские переносы... :)
LJ: Backslashed life (rss)

Оффлайн Berkut

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 98
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Чтение строк из файла
« Ответ #8 : 02 Марта 2004, 02:46:36 »
Ого! Гениально!!! Но я как ни пытался - всё безтолку. Пробовал вот так:


       
         
       
kkkkkk

И таблицу в таблице
Всё равно расползается! Как-же ты это сделал??? Может ссылку на свою страницу даш? Или пример напиши.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Чтение строк из файла
« Ответ #9 : 02 Марта 2004, 15:54:29 »
Berkut
Сходу сложно, т.к. принципиально не верстаю "не резиновые" сайты.

Но пример постараюсь найти.

Там смысл в том, что большая таблица задана жестко, а вложенная - в процентах. Она, в принципе, разьезжается, но разьезжаться ей некуда. А текст рвется, также как и в "резиновой" таблице при переполнении.

Есть еще css"word-wrap:brake-word", но работает он далеко не везде. Но тоже можно.
LJ: Backslashed life (rss)

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Чтение строк из файла
« Ответ #10 : 02 Марта 2004, 16:33:19 »
CGVictor
Цельнолитые слова будут рваться? ;) Очень интересно.

Berkut
Можешь поместить каждое сообщение в слой с параметром "position: relative; width: РАЗМЕР" (я предположил, что другие параметры оставленны по умолчанию)
и после загрузки страницы javascript\'ом
if ( ОЧЕРЕДНОЙ_СЛОЙ.offsetWidth > РАЗМЕР ) {
ОЧЕРЕДНОЙ_СЛОЙ.style.position = \'static\';
ОЧЕРЕДНОЙ_СЛОЙ.style.overflow = \'scroll\';
}

И в случае превышения размера, будет к данному сообщению скрол пририсовываться. Совместимость по броузерам оч. неплохая. Единственное "РАЗМЕР" придется подгонять в разных броузерах. Для "резины" данный способ не подходит.
0 OK, 0:1

Оффлайн it4all

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.it4all.h10.ru
Чтение строк из файла
« Ответ #11 : 02 Марта 2004, 17:43:29 »
// кастрирование строки
  
function strings_stripstring($text$wrap$length)
  {
    
// разбиваем очень длинные слова (длиннее $wrap) на несколько маленьких
    
$wordlen 0;
    for(
$i 0$i strlen($text); $i++)
    {
      
$text2 .= $text[$i];
      if(
$text[$i] != " ")
        
$wordlen++;
      else
        
$wordlen 0;
      if(
$wordlen $wrap)
      {
        
$text2 .= " ";
        
$wordlen 0;
      }
    }
    
$text $text2;
    
// обрезаем строку до нужной длинны ($length)
    
$text substr($text0$length);
    
    return 
$text;
  }
  

Сперто с этого же сайта, с раздела "Статьи по РНР" - "Гостевая книга на PHP/MySQL" Опубликована ровнехонько 2 года назад.
Berkut наведывайся туда,там среди старого хлама можно нарыть несколько крупиц полезной информации.
Очень жаль,однако,что раздел заброшен.

Вот еще пример,немного другой направленности,от от главного "инквизитора" этого форума.
if (preg_match("/[0-9a-zA-Zа-яА-ЯЁё]{30,}/",$notes,$matches)) { 
    
$err.="В отзыве присутствует слишком длинное слово ".$matches[0].". Cократите или разбейте его, пожалуйста."
  } 
  

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Чтение строк из файла
« Ответ #12 : 02 Марта 2004, 18:46:49 »
Цитировать
it4all:
Вот еще пример,немного другой направленности,от от главного "инквизитора" этого форума.

как ты посмотришь на то, если я сделаю строку длинной больше 30, например, из плюсов???
работа в Украине

Оффлайн it4all

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.it4all.h10.ru
Чтение строк из файла
« Ответ #13 : 02 Марта 2004, 21:41:51 »
Yukko я знаю ты большой спец в регулярных,но это не мой код,он немного староват,я думаю символы в квадратных скобках заменить на [\\w.]
Кстати ,ты так и не ответил на мои вопросы,хоть я тебя об этом и просил,ни здесь ни в форуме по регулярным.
Очень жаль (мне по крайней мере.)
« Последнее редактирование: 03 Марта 2004, 07:55:06 от it4all »

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Чтение строк из файла
« Ответ #14 : 02 Марта 2004, 21:56:06 »
Цитировать
it4all:
/[0-9a-zA-Zа-яА-ЯЁё]{30,}/

так правильнее:
/\\S{30,}/
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28