Автор Тема: Как txt файл загнать в переменную  (Прочитано 4232 раз)

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

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как txt файл загнать в переменную
« : 05 Октября 2002, 11:17:02 »
Далал так, но это наверное долго и не правильно (файлы немного отличаются до и после)

open (HEAD, "message.html");
@head = ;
close (HEAD);
for($i=0;$i<@head;$i++){$message.=$head[$i];}

Оффлайн Oak

  • Дерево
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1481
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как txt файл загнать в переменную
« Ответ #1 : 05 Октября 2002, 13:52:36 »
посмотри переменную $/
в ней хранится разделитель строк.
Запихни туда какой-то большой-твердый-знак и тода
$file= прочитает его за 1н раз
[основной броузер - SeaMonkey] Netscape Communicator 4 - is the best :) // see sources

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Как txt файл загнать в переменную
« Ответ #2 : 05 Октября 2002, 14:34:12 »

while()
{
    $message .= $_;
}
Не ходите, дети, без «Мозиллы» дальше localhost!

ююю

  • Гость
Как txt файл загнать в переменную
« Ответ #3 : 05 Октября 2002, 15:38:39 »
{#начало блоке
undef local $/;# делаем неопределённой переменную $/ локально для данного блока
$var=; #считываем весь фаил в переменную
}# конец блока
#здесь переменная $/ принимает своё прежнее значение

#Тоже самое в чистом виде без комментариев

{
undef local $/;
$var=;
}

Ленивый гость

  • Гость
Как txt файл загнать в переменную
« Ответ #4 : 05 Октября 2002, 15:42:08 »
или даже так СМЫС комментариев не изменяется

{
local $/;
$var=;
}

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как txt файл загнать в переменную
« Ответ #5 : 05 Октября 2002, 18:10:12 »
Oak ,
USE ,
ююю ,
Ленивый гость ,
Спасибо всем за помощь.

Ещё вопросец не могу решить, может немного не по теме, но тоже с текстом связан, в общем есть в файле такой текст:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст

Реклама
Это не нужный текст
Конец рекламы

Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст

Реклама
Это не нужный текст Это не нужный текст Это не нужный текст Это не нужный текст Это не нужный текст
Конец рекламы

Одиночная строка в тексте

Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст Это нужный текст
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

В ощем этот файл я запихнул в переменную, и теперь надо вырезать места от слова "Реклама" до слова "Конец рекламы", с находящимся внутри текстом, что у меня и получается этим способом:

$text =~ s/Реклама(.|\\n)*Конец рекламы//g;

только одно но, вырезается от первого слова "Реклама" до последнего "Конец рекламы", а как сделать до близжайшего?

И потом вырезать одиночные строчки, типа строки "Одиночная строка в тексте" , где может так же быть произвольный текст,.... для чего, не могу придумать регулярное выражение. ... Одно условие, что одинокая строка не соприкасается с блоком текста.

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Как txt файл загнать в переменную
« Ответ #6 : 05 Октября 2002, 18:15:53 »
Цитировать
только одно но, вырезается от первого слова "Реклама" до последнего "Конец рекламы", а как сделать до близжайшего?

$text =~ s/Реклама(.|\\n)*[b]?[/b]Конец рекламы//g;
нужно поставить знак вопроса. он и будет говорить регулярному выражению, чтобы брать до первого возможного совпадения.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Как txt файл загнать в переменную
« Ответ #7 : 05 Октября 2002, 18:18:39 »
Цитировать
Одно условие, что одинокая строка не соприкасается с блоком текста.

приведи приди пример.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как txt файл загнать в переменную
« Ответ #8 : 05 Октября 2002, 18:55:52 »
USE чейчас проверю, вот пример к строке:
Блок текста это если более 2х строк, а в одинокой строке - одна строка, потом перевод строки, т.е. символ \\n , т.е. можно проверить \\n\\n  1 строка \\n\\n, значит надо удалить. если так, то не надо (т.е. это уже блок)
\\n\\n  1 строка\\n 2 строка\\n 3 строка \\n\\n

Оффлайн Yuraz

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 111
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.kirov.ru/~yura
Как txt файл загнать в переменную
« Ответ #9 : 05 Октября 2002, 19:23:04 »
Цитировать
И потом вырезать одиночные строчки, типа строки "Одиночная строка в тексте


USE , спасибо, пример аналогичный первому, так что не сложно стало, спасибо!

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Как txt файл загнать в переменную
« Ответ #10 : 06 Октября 2002, 00:16:47 »
Цитировать
USE , спасибо, пример аналогичный первому, так что не сложно стало, спасибо!

[off]я рад если смог помочь.[/off]
Не ходите, дети, без «Мозиллы» дальше localhost!

 

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