Подскажите как подобное реализовать если в параграфе меньше 1000 символов добавить к нему еще несколько, но так чтобы они не объединялись, а шли также параграфом до 1000 символов в общем.
Код выглядит так
$str = '
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор.Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор.Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор.Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор.Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>';
$caunt = mb_strlen($str,'UTF-8');
preg_match_all('~<p>.*?</p>~', $str, $arr);
$arr = empty($arr[0]) ? [] : $arr[0];
foreach ($arr as $k => $item) {
echo $item;
}
Вариант (при условии, что все ваши регулярки работают):
<?php
header('Content-type: text/html; charset=utf-8');
mb_internal_encoding('utf-8');
$str = '
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор.Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор.Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор.Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>
<p>К автобусу бежала одевающаяся по поводу чего все вымерли. Пальмой, открыл пасть, засунул в ледяную. Потенцию и взвыл от него была гордая и стал грызть дерево блаженно. Был зажиточный: он сразу женился сзади у поросят находится.</p>
<p>Из-за тучи выглянул луч солнца и упал на двор. Бессмертный хранил свою смерть в горницу вошел. Певчей птицы, кроме вороны стихотворение написано в одном. Королеве подвески, она не пожалел.</p>';
$caunt = mb_strlen($str,'UTF-8');
preg_match_all('~<p>(.*?)</p>~', $str, $arr);
// $arr[1] is the text without p tag
$arr = empty($arr[0]) ? [] : $arr[1];
foreach ($arr as $k => $item) {
$tmp_count = mb_strlen($item);
if($tmp_count >= 1000) // Checking number of characters
echo $item;
else{ // Less than 1000 characters
// Padding with space
$new_str = str_pad($item, 1000);
echo '<p>' . $new_str . '</p>';
}
}
Подробнее о mb_strlen тут
Подробнее о str_pad тут
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я отправляю post-запрос на сервер, а php даёт в ответ массив, но значения из массива я извлечь не могу