нужно разбить текст как лучше? php

seosniks
На сайте с 13.08.2007
Offline
389
1405

Добрый вечер. есть у меня файлик большой нужно его разбить на статьи.

разбивать хочу по такому принципу.

Текст в файле имеет короткие строки, которые начинаются с большой буквы

например вот короткие строки

Источники информации

Лекарственные рецепторы и фармакодинамика
Как открывают рецепторы?

Так вот мне надо разделять по тем строкам, где в строке 1-5 слов, но начинающихся с большой буквы.

в конце может быть любой знак и перенос строки.

и еще один момент не более 1500 знаков между разбиваемыми строками.

Подскажите пожалуйста как такое сделать на PHP

Просто порубить можно так

  $text = file_get_contents("x.htm");

$arr = explode(" ", wordwrap($text, 1500, " "), 1500);
for($q=0;$q<count($arr);$q++){
echo $arr[$q]."$q <hr>";

}

но хотелось бы чтоб <hr> вставить перед каждой строкой попадающей под

1-5 слов, но начинающихся с большой буквы.

Помогите пожалуйста проффии. :drink:

[Удален]
#1

seosniks, вы раздел перепутали

seosniks
На сайте с 13.08.2007
Offline
389
#2
bearman:
seosniks, вы раздел перепутали

Дак Скрипты, это как раз вебстроительство.

Мне нужно скрипт подправить, вот и забил сюда. Обычно в Вебстроительство всегда пишут

если вопросы по скриптам сервакам, итд.

Вы лучше пожалуйста подскажите, как реализовать разбивку текста.🚬

dvaes
На сайте с 03.09.2007
Offline
65
#3

в голову пока только что-то такое лезет


define("MAX_WORD_COUNT", 5);

$a = file("x.htm");

foreach ($a as $i => $b)
{
if (preg_match('#^[А-Я].*$#', $b) && preg_match_all('#\b#', $b, $tmp) <= MAX_WORD_COUNT * 2)
{
$a[$i] = "<hr>\r\n" . $b;
}
}

echo implode("", $a);

но там конечно нет разделения по длине строки в 1500

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий