2016-01-04 3 views
0

Строка имеет очень длинный текст. Как можно сделать автоматические разрывы строк после 100 слов без сокращения слов и позаботиться о запятых и точках. Предложение не должно быть нарушено. Только разрывы строк после точек. Разрывы строк должны быть добавлены, когда в полном тексте находятся теги NO br.Сделать автоматический разрыв строки в длинном тексте - позаботьтесь о предложениях

Пример:

$string = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.'; 

Выход:

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

Он был популяризирован в 1960-х годах с выпуском листов Letraset, содержащих проходы Lorem Ipsum, а в последнее время с настольным издательским программным обеспечением, таким как Aldus PageMaker, включая версии Lorem Ipsum.Lorem Ipsum - просто фиктивный текст печатной и вербовочной промышленности. Lorem Ipsum был стандартным фиктивным текстом отрасли с тех пор, как в 1500-х годах, когда неизвестный принтер взял камбуз типа и скремблировал его, чтобы сделать типовую книгу образцов.

Он пережил не только пять столетий, но и прыжок в электронную верстку, оставаясь, по существу, неизменным. Он был популяризирован в 1960-х годах с выпуском листов Letraset, содержащих проходы Lorem Ipsum, и совсем недавно с программным обеспечением для публикации на рабочем столе, таким как Aldus PageMaker, включая версии Lorem Ipsum.

Я пробовал wordwrap, но это слишком просто.

+0

Разделить строку пробелами. Добавьте элементы один за другим к выходу, сохраняя при этом счетчик. Если счетчик> 100, проверьте каждое слово, если оно заканчивается точкой. Если это так, выведите прерывание и сбросьте счетчик на 0. – GolezTrol

ответ

0

Разделить строку пробелами. Добавьте элементы один за другим к выходу, сохраняя при этом счетчик. Если счетчик> 100, проверьте каждое слово, если оно заканчивается точкой. Если да, то выход перерыв и сброса счетчика 0.

Итак, что-то вроде этого:

<?php 
    $string = 'Your chunk of. Lipsum.'; 

    $words = explode(' ', $string); 

    echo '<p>'; 

    $counter = 0; 
    foreach ($words as $word) { 
    echo $word . ' '; 
    if (++$counter >= 100) { 
     if (substr($word, -1) === '.') { 
     echo "</p>\n\n<p>"; // End the paragraph and start a new one. 
     $counter = 0; 
     } 
    } 
    } 
    echo '</p>'; 
+0

wordwrap. http://php.net/manual/en/function.wordwrap.php –

+0

У меня плохое не было, что wordwrap не работает –

+0

I changed counter = 0; до $ counter = 0; и он отлично работает. Спасибо @GolezTrol – labu77