Forum Webscript.Ru

Программирование => PHP => Тема начата: Berkut от 28 Февраля 2004, 09:38:46

Название: Чтение строк из файла
Отправлено: Berkut от 28 Февраля 2004, 09:38:46
Есть файл с текстом.По какому принципу можно сделать вот такую вещь:
$a= первая строка из файла
$b= вторая строка
$c= всё остальное
Название: Чтение строк из файла
Отправлено: AliMamed от 28 Февраля 2004, 10:22:41
[p]file_get_contents[/p] [p]file[/p] [p]fopen[/p]
по принципу чтения мана и размышлений
Название: Чтение строк из файла
Отправлено: Меняздесьдавнонет от 28 Февраля 2004, 12:54:53
Berkut
вообще-то, вариантов масса.
очень жаль, что человек довольно давно находящийся на форуме, не видит даже приблизительных путей решения.
неужели тебе незнакома, к примеру, команда file?
Название: Чтение строк из файла
Отправлено: Berkut от 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], $cicle, 10); #.substr($b[$i], $cicle+10, strlen($b[$i]));
                                $sp=$sp." ".$vsp." ";
                        }
                        $c.=$sp;

                }
Где $b[$i]-слово из строки, но вот как повынимать слова из строки???забацать кучу циклов со всякими substr_count и strpos($stroka, " ",$i)
Название: Чтение строк из файла
Отправлено: Меняздесьдавнонет от 28 Февраля 2004, 17:56:53
Цитировать
вот теперь вопрос другой вопрос встал,как слово,содержащееся в строке,если его длина больше,допустим 10 символов

предлагаю выбрать этот поток сознания вопросом года.
кто за?
Название: Чтение строк из файла
Отправлено: CGVictor от 28 Февраля 2004, 18:04:27
RomikChef
Я против. Нехорошо над людьми издеваться :)

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

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

:)
Если ты еще обьяснишь, на фига тебе всё это понадобилось...
Название: Чтение строк из файла
Отправлено: Berkut от 29 Февраля 2004, 00:46:06
да..... чё-то я понаписал в торопях.......
я написал некое подобие гостевой книги(без MySQL,на файлах),а  нужно было разбивать очень длинные слова в сообщениях,что-бы в случае чего не испортился дизайн гостевухи.
CGVictor - огромное человеческое спасибо,а то бы я щас писал кучу циклов,что-бы выдирать слова из строки
Название: Чтение строк из файла
Отправлено: CGVictor от 01 Марта 2004, 16:18:06
Berkut
Я делал проще: верстал ХТМЛ-ку так, чтобы динное слово не давало страничке разьехаться. Браузер рвет слово сам, если блочный элемент не может раздвигаться И его родительский элемент тоже задан жестко.
А делать это на сервере немного неэкономично. Хотя для гостевухи сойдет. Вот если бы на сервере анализировалось слово и расставлялись правильные русские переносы... :)
Название: Чтение строк из файла
Отправлено: Berkut от 02 Марта 2004, 02:46:36
Ого! Гениально!!! Но я как ни пытался - всё безтолку. Пробовал вот так:


       
         
       
kkkkkk

И таблицу в таблице
Всё равно расползается! Как-же ты это сделал??? Может ссылку на свою страницу даш? Или пример напиши.
Название: Чтение строк из файла
Отправлено: CGVictor от 02 Марта 2004, 15:54:29
Berkut
Сходу сложно, т.к. принципиально не верстаю "не резиновые" сайты.

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

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

Есть еще css"word-wrap:brake-word", но работает он далеко не везде. Но тоже можно.
Название: Чтение строк из файла
Отправлено: ondr от 02 Марта 2004, 16:33:19
CGVictor
Цельнолитые слова будут рваться? ;) Очень интересно.

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

И в случае превышения размера, будет к данному сообщению скрол пририсовываться. Совместимость по броузерам оч. неплохая. Единственное "РАЗМЕР" придется подгонять в разных броузерах. Для "резины" данный способ не подходит.
Название: Чтение строк из файла
Отправлено: it4all от 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($text, 0, $length);
   
    return $text;
  }
 
Сперто с этого же сайта, с раздела "Статьи по РНР" - "Гостевая книга на PHP/MySQL" Опубликована ровнехонько 2 года назад.
Berkut наведывайся туда,там среди старого хлама можно нарыть несколько крупиц полезной информации.
Очень жаль,однако,что раздел заброшен.

Вот еще пример,немного другой направленности,от от главного "инквизитора" этого форума.
if (preg_match("/[0-9a-zA-Zа-яА-ЯЁё]{30,}/",$notes,$matches)) {
    $err.="В отзыве присутствует слишком длинное слово ".$matches[0].". Cократите или разбейте его, пожалуйста.";
  }
 
Название: Чтение строк из файла
Отправлено: Yukko от 02 Марта 2004, 18:46:49
Цитировать
it4all:
Вот еще пример,немного другой направленности,от от главного "инквизитора" этого форума.

как ты посмотришь на то, если я сделаю строку длинной больше 30, например, из плюсов???
Название: Чтение строк из файла
Отправлено: it4all от 02 Марта 2004, 21:41:51
Yukko я знаю ты большой спец в регулярных,но это не мой код,он немного староват,я думаю символы в квадратных скобках заменить на [\\w.]
Кстати ,ты так и не ответил на мои вопросы,хоть я тебя об этом и просил,ни здесь ни в форуме по регулярным.
Очень жаль (мне по крайней мере.)
Название: Чтение строк из файла
Отправлено: Макс от 02 Марта 2004, 21:56:06
Цитировать
it4all:
/[0-9a-zA-Zа-яА-ЯЁё]{30,}/

так правильнее:
/\\S{30,}/
Название: Чтение строк из файла
Отправлено: Yukko от 03 Марта 2004, 11:02:30
Цитировать
it4all:
скобках заменить на [\\w.]

точечку надо убрать... иначе совпадет со всем, с чем только можно :), а вообще Макс привел правильный рег.

Цитировать
it4all:
Кстати ,ты так и не ответил на мои вопросы

в форуме по регам я не увидел ни одного топика, в котором ты просил бы о помощи. В топике, где я дал ссылки на статьи я обсуждать твою проблему не собираюсь. Создай новый топик на форуме и попробуем обсудить.
Название: Чтение строк из файла
Отправлено: it4all от 03 Марта 2004, 17:00:45
Yukko пойми меня правильно,я просто хотел задать(уже задал на этом форуме) вопрос ответ на который ,займет возможно один пост.Не хочу засорять форум такими топиками.
http://forums.webscript.ru/showthread.php?s=&threadid=15669&perpage=15&pagenumber=3
Не сочти за труд.
А Макс действительно прав на все 100,а то,что накалякал я с плюсами не пашет,хотя по идее точка должна была его ухватить.
Название: Чтение строк из файла
Отправлено: AlieN от 03 Марта 2004, 17:04:11
ф-киц wordwrap чем не подходит?