Информер случайного текста + файл для удобства оформления

Автор Voksech, 20 февраля 2017, 21:00:59

« назад - далее »

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

Voksech

Тема про информер случайного текста встречается на просторах рунета, но информация разрозненная и не проработана авторами досконально.
Текстовой файл (как быстро подготовить такой файл, см. ниже) с информацией должен выглядеть следующим образом:



Каждая отдельная строка в текстовом файле должна содержать один анекдот (афоризм, высказывание). Что бы в файле было виднее правильность оформления снимаем галочку "Формат" - "Перенос по словам" Поскольку делать будем дивную верстку с фиксированной шириной, теги <br>  потребуются исключительно для оформления прямой речи - лучше читается.
Текстовый файл не забываем перекодировать в UTF-8 (Файл - Сохранить как... , указываем нужную кодировку и сохраняем). Файл кидаем в корень сайта, в моем случае это папка "www".
Код, представленный ниже, вставляем в файл "index.template.php"

$arr = file( "anekdot.txt" );
// Задаем переменной название текстового файла
$b = $arr[ rand( 0 , count( $arr ) - 1 ) ];
// Одна из строк случайного вывода
$d = $arr[ rand( 0 , count( $arr ) - 1 ) ];
// Одна из строк случайного вывода
$h = $arr[ rand( 0 , count( $arr ) - 1 ) ];
// Одна из строк случайного вывода
$k = " ";
// Пустая строка                                 
$s = "✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵ ✵";
// Строка красивого разделения, из таблицы юникода можно выбрать другие символы
echo
'<div class="anekdot">'
.$b.'<br>'.$k.'<br>'.$s.'<br>'.$k.'<br>'.$d.'<br>'.$k.'<br>'.$s.'<br>'.$k.'<br>'.$h.
// Последовательность вывода строк
'</div>';

Оформление в файле "index.css", включает в себя фиксированную высоту и ширину и автоматически появляющуюся "прокрутку":

.anekdot
{
    height: 155px;
    margin: -156px 0px 0 350px;
    overflow: auto;
    width: 440px;
}

Результат выглядит так:



Для удобства подготовки текста мною написан файл в Excel (.xlsm), который выполняет рутинную работу, которую и должен выполнять компьютер. Тем кто оформляет короткие фразы или прочий текст, не содержащий прямой речи, который уже оформлен в одну строку, это файл может и не пригодиться, для остальных ссылка:

https://yadi.sk/i/SDXaeHW03EJVXA

Инструкция по файлу:
С первым открытием не забудьте "включить содержимое" соответствующей кнопкой вверху иначе не будут работать макросы.
Текст вставляется начиная с ячейки "А3". Копируется текст из внешнего источника и используя кнопку "Вставка из буфера обмена" (или сочетание клавиш Ctrl+я, в русской раскладке) вставляется в лист. Стандартный метод вставки не подойдет - из html нужно вставлять как текст в юникоде. Каждая новая вставка происходит через пустую строку для выполнения дальнейших задач.
После того как вставлено достаточное количество информации начинаем обработку. Если вместе со вставляемым контентом, в ячейках, содержащих текст вставляется ненужная информация (ссылка на сайт), то используя стандартный метод замены Ctrl+h (в любой раскладке) в поле "найти" вносим искомый текст целиком, а в поле "заменить" не вносим ничего - вся ненужная информация исчезнет после нажатия кнопки "заменить все". Если ненужная информация появляется в отдельной строке, которую нужно удалить вместе с содержимым, что бы между темами была только одна пустая строка, то используем кнопку "Удаление строк содержащих текст". После нажатия этой кнопки появится диалоговое окно, в которое нужно будет внести тест целиком или уникальную часть текста, ОК и строки удаляются.
Далее. Если каждую новую строку вставленного контента нужно в дальнейшем использовать именно в таком виде (прямая речь, тонкости оформления), то нажимаем кнопку "Преобразование с разрывом строк" и текст приобретет вид как на картинке с текстовым файлом, только на листе Excel, т. е. каждая тема в одной строке и уже без пустых строк. Используя эту кнопку можно удалять пустые строки после вставки, если каждая тема уже в одной строке.
Кнопка "Преобразование без разрыва строк" нужна для соединения в одну строку темы, расположенной на нескольких строках (при вставке из другого текстового файла с кривым форматированием), при этом тегов переноса на другую строку в тексте не будет.
Если во вставленном тексте, темы которого уже в одной строке, есть прямая речь и её нужно покультурнее оформить: с тегами переноса на другую строку, то есть кнопка "Вставка разрывов в прямую речь." Программка находит начало прямой речи, которая начинается с любого символа "-" или длинное тире, перед которым стоит точка, восклицательный знак, вопросительный знак или двоеточие, т. е. простое тире в тексте игнорируется. Форматирование нельзя будет назвать идеальным, т. к. начало прямой речи находит идеально, но на нахождение конца прямой речи алгоритма нет и быть не может учитывая оформление "писателей" из инета.
Все готово. Нажимаем кнопку "Скопировать текст" и вставляем куда нужно.
Кнопка "Очистить содержимое" освобождает рабочее пространство от уже готового текста (без пустых строк).
Примечание: количество рабочих строк в программе 1 048 576. Максимальное количество символов в одной ячейке 32 767, т. е. "Войну и мир" нахрапом не обработать. Цель файла небольшие литературные произведения, одна тема каждого не более 32 767 символов.
С программкой рекомендую потренироваться на небольшом количестве информации.
В науке философия я дока.
Как дышло у неё законы.
Я из материи высокой
Пошить могу вам панталоны.

Yworld_garry

А еще обернуть все это в <!--noindex-->....<!--/noindex-->. дабы не схлопотать от яндекса плюх. Добавить rel="nofollow" если есть ссылки, от локального гугла типо того <!--googleoff: all-->....<!--googleon: all-->, от живого хрен поможет, трешку лет назад, я бы посоветовал через яву выводить, но поздняк.

В общем, иметь сверху сайта, точнее форума сходу  noindex не лучшая идея, но без него не радостно в пс будет.
Отсюда, нужен вывод по условию и плюс с куками, да и не плохо дать закрыть это надоедливое дело постоянным пользователям.

kak2z

Цитата: Yworld_garry от 21 февраля 2017, 11:36:58А еще обернуть все это в <!--noindex-->....<!--/noindex-->. дабы не схлопотать от яндекса плюх. Добавить rel="nofollow" если есть ссылки, от локального гугла типо того <!--googleoff: all-->....<!--googleon: all-->, от живого хрен поможет, трешку лет назад, я бы посоветовал через яву выводить, но поздняк.

В общем, иметь сверху сайта, точнее форума сходу  noindex не лучшая идея, но без него не радостно в пс будет.
Отсюда, нужен вывод по условию и плюс с куками, да и не плохо дать закрыть это надоедливое дело постоянным пользователям.
а может после загрузки страницы средствами JS в какой то див загружать данные.. вроде же ПС не читают JS))
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Yworld_garry

Цитата: kak2z от 21 февраля 2017, 12:08:04а может после загрузки страницы средствами JS в какой то див загружать данные.. вроде же ПС не читают JS))
Может и нет, я может и да))
Я бы не выводил ботам его вообще.