X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Разбивка текста на абзацы, PHP-скрипт
stopo4ek
stopo4ek
Topic Starter сообщение 6.6.2011, 22:20; Ответить: stopo4ek
Сообщение #1


Частый гость
**

Группа: User
Сообщений: 72
Регистрация: 13.3.2010
Поблагодарили: 17 раз
Репутация:   1  


Спасибо DeimosFobos и webpavilion за скрипт разбивки сплошного текста на абзацы, представленный в этой теме: http://www.maultalk.com/topic62793s0.html !!!

Тема закрыта, поэтому не смог туда дописать.

Скрипт, представленный в той теме имеет небольшой недостаток, обусловленный немного упрощёнными исходными данными.

Ниже чуть-чуть доработанный скрипт, который разбивает сплошной текст на абзацы более естественно.
Изменения касаются введения ограничений на минимальное и максимальное количество символов в абзаце.

<?php
// Разбивка сплошного текста на абзацы (кодировка UTF-8)
$min_strok = 3; // минимальное кол-во предложений
$max_strok = 8; // максимальное кол-во предложений
$min_len = 300; // минимальная длина абзаца (символов)
$max_len = 700; // максимальная длина абзаца (символов)

$file = file_get_contents('text.txt');

preg_match_all("/.*[.?!]{1,}+\s/Uu", $file, $array);
$randnum = mt_rand($min_strok, $max_strok);
$nownum = 0;
$lc = 0;
$lines = array();
$len = 0;

foreach( $array[0] as $line ) {
    if(trim($line)) {
        $len += mb_strlen($line, "UTF-8");
        if( ($nownum >= $randnum && $len >= $min_len) || $len > $max_len) {
            $randnum = mt_rand($min_strok, $max_strok);
            $nownum = 0;
            $lc++;
            $len = mb_strlen($line, "UTF-8");
        }
        $lines[$lc] .= $line;
        $nownum++;
    }
}
$content = '';
foreach($lines as $line) $content .= '<p>'.trim($line).'</p>
';

print $content;
?>


Поблагодарили: (2)
1
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dr_Tapac
Dr_Tapac
сообщение 6.6.2011, 22:38; Ответить: Dr_Tapac
Сообщение #2


Гуру
******

Группа: Active User
Сообщений: 1217
Регистрация: 7.2.2009
Поблагодарили: 199 раз
Репутация:   78  


Спасибо, попробуем в боевых условиях smile.gif


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
chistyakoveo
chistyakoveo
сообщение 6.6.2011, 23:25; Ответить: chistyakoveo
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 425
Регистрация: 7.8.2010
Из: Томск
Поблагодарили: 130 раз
Репутация:   51  


Так он же рэндомно разбивает на абзацы, верно? В пхп немного не шарю, но как понимаю, он сразу на странице выполнения скрипта выводит текст или пересохраняет его в файл, что был на входе? Благодарю.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gr3y
gr3y
сообщение 7.6.2011, 2:09; Ответить: gr3y
Сообщение #4


Участник
***

Группа: User
Сообщений: 104
Регистрация: 30.6.2010
Из: Хабаровск
Поблагодарили: 31 раз
Репутация:   5  


chistyakoveo
Судя по коду рандомно и выводит на экран.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
stopo4ek
stopo4ek
Topic Starter сообщение 19.6.2011, 21:04; Ответить: stopo4ek
Сообщение #5


Частый гость
**

Группа: User
Сообщений: 72
Регистрация: 13.3.2010
Поблагодарили: 17 раз
Репутация:   1  


Рандомно в пределах, заданных параметрами в начале скрипта.

Релультат выводт на экран.
Для сохранения в файл в конец, перед строкой "?>" добавить строку:

file_put_contents('result.txt');
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Главная страница сайта.Больше текста или фото?
98 PROK777 16667 11.12.2017, 15:57
автор: vsemmoney
Открытая тема (нет новых ответов) Вопрос по уникальности текста уже не существуешего сайта
11 Raptor-Ice 2125 28.10.2017, 17:18
автор: Raptor-Ice
Открытая тема (нет новых ответов) Нужна консультация по генерации текста
платная или бесплатная
0 bluestorm 416 14.10.2017, 20:31
автор: bluestorm
Открытая тема (нет новых ответов) Нужно заменить все текста на сайте
Сами тексты есть, заменить все русское на английское
2 Ksardas777 477 21.8.2017, 17:09
автор: Anatoos
Открытая тема (нет новых ответов) Перевод текста с английского на русский
100р за 1000сзп
1 patator 659 4.5.2017, 21:06
автор: patator


 



RSS Текстовая версия Сейчас: 18.12.2017, 18:51
Дизайн