Привет. Я разбил текст на слова Код (Text): var text = str.split(' ') . Посчитал их количество. Код (Text): var count = text.length Теперь хочу собрать предложения определённой длины( в пикселях). Все данные есть. Нужна помощь собрать текст Код (Text): var pageWidth = 900; var line = [] var long = 0 for (let i = 0; i < count; i++){ long += +textWidth[i] + emptySpace // длина слова + длина пробела if(long<=pageWidth){ line += text[i]+' '; // тут только первое предложение } }
ерунда какая-то ... откуда вы можете знать ширину символов в пикселях? она зависит от css свойств - о которых php ничего не может знать
а не проще ли свойство css overflow использовать? визуально ограничит... а по факту - весь текст будет ... для сео хорошо)
Нет. Там задача другая. Нужно определённое количество строк в определённом пространстве. Пока сделал так Код (Text): for (let i = 0; i < count; i++){ textWidth[i] = getWidthOfText(text[i],'Arial','18px') long += +textWidth[i] + emptySpace if(long<=pageWidth){ line += text[i]+' '; }else { long = +textWidth[i] + emptySpace line += '</br>'+text[i]+' '; } } Но это рабочий вариант. Нужно каждую строку теперь обернуть в <p>...</p>