parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Про строки из файла и параграфы

Никита Козин 22.08.2004 09:49

Появилась необходимость выводить все строки из файла, предварительно оформив их как абзацы, да еще и разделить горизонтальной чертой. Заранее известно, что каждая строка - отдельное целое и в нем нет ни тегов <p></p> ни <br />. Ещинственное - это афоризмы - каждая строка иммет вид "Текст афоризма. | Автор", т.е. с разделителем в виде пробел-палка-пробел, если нет разделителя и автора, т.е. строка оказывается такой: "Текст афорзима", тогда курсивом пишется "Не указан автор".

Воспользовался поиском, нашел (Смейтесь. Это приказ! ;-), Luzhnikovskiy)

Немного урезал лишнее, то что мне не нужно, немного добавил своего и вот что вышло:
$file[^file::load[text;text.txt]]
$text[$file.text]
$table[^table::create{body	author}]
$text[^text.match[^^(.+?)( \| (.+))?^$][gmi]{^table.append{$match.1	$match.3}}]
^table.menu{
	<p>$table.body</p>
	<p>^if(def $table.author){<b>$table.author</b>}{<i>Не указан автор&hellip^;</i>}</p>
}[<hr>]
А если нужно вывести только один случайны афоризм, тогда пожалуйста: последние четыре строчки заменяем вот на эти:
^table.offset[set](^math:random(^table.count[]))
<p>$table.body</p>
<p>^if(def $table.author){<b>$table.author</b>}{<i>Не указан автор&hellip^;</i>}</p>
Может быть кто-нибудь чего посоветует добавить / изменить / усовершенстовать? ;)

Или может кому пригодится в таком виде? :)