Am
Может не то нужно делать? Какая задача?
Andrey
Взять текст. Символов от 5 до 30к. Статья.
Разбить на кусочки по примерно 3 тысячи знаков, но не в тупую, а без обрезки в середине слова/предложения. Я сделал по </p>.
Сунуть код. Продолжить до конца текста.
Andrey
$this_fragment = substr($body_value, $position, $len);
$_pos = strripos( $this_fragment, '.</p>' );
По сути то вся задача вот. Но оно херпойми как режет и херпойми как отдаёт.
Am
Andrey
До смешного.
Берём текст, делаем ему
var_dump( mb_substr($body_value, 0, 3000) );
Т.е. чётко указано, дай мне 3000 от начала.
Результат — string(4698)
Am
UTF8?
Am
Третий параметр
Andrey
Также.
Am
Am
Там, наверное, ещё и пробелы учитываются.
Am
Где-то у меня есть такая обрезалка, делал лет 7 назад. Найти бы теперь. (:
Andrey
Ну так я с ними считаю.
Максим
Максим
там есть wordLimiter
Andrey
Вот только там ещё и какие-то use CHtmlPurifier; тащатся(
Andrey
Капец блин.
В жизни не думал, что полждня буду сидеть с обрезкой текста)
Максим
)
Максим
погодь ка
Максим
ничего там не тащится
Максим
public static function wordLimiter($str, $limit = 100, $end_char = '&#8230;')
{
if (trim($str) == '') {
return $str;
}
preg_match('/^\s*+(?:\S++\s*+){1,'.(int)$limit.'}/', $str, $matches);
if (mb_strlen($str) == mb_strlen($matches[0])) {
$end_char = '';
}
return rtrim($matches[0]).$end_char;
}
Максим
в этом characterLimiter да
Максим
ну хз, попробуй без него )
public static function characterLimiter($str, $n = 500, $end_char = '&#8230;')
{
if (mb_strlen($str) < $n) {
return $str;
}
$str = preg_replace("/\s+/", ' ', str_replace(["\r\n", "\r", "\n"], ' ', $str));
if (mb_strlen($str) <= $n) {
return $str;
}
$out = "";
foreach (explode(' ', trim($str)) as $val) {
$out .= $val.' ';
if (mb_strlen($out) >= $n) {
return $out;
}
}
}
Andrey
Если попозже.. бред блин
Andrey
var_dump(characterLimiter($body_value,500,''));
Ответ:
string(848)
Andrey
ы=)
Andrey
Может, я где-то нагрешил и php решил меня наказать.
Am
У Вас там есть html символы?
Andrey
Да, конечно. Текст статьи
Am
Ну, т.е. <p> <a> и т.д?
Andrey
В том и суть — выше писал, что режу до .</p>.
Am
Тогда логика должна быть такая что strip_tags() нужно сначала удалить все html символы, а после уже mb_
Am
Считает все верно, только считает и все html символы
Andrey
А нафига мне их удалять? Я ж потом вставлять буду код, мне это место не найти.
Am
Тогда у Вас все должно правильно считаться.
Am
Раз Вы считаете и символы html
Andrey
Пускай уж с тегами считает, поправим чисто визуально, нет строгого "3000 символов и ни граммом меньше"
Andrey
Запустите кто-нибудь для теста?
https://pastebin.com/tn6ibvZP
WebSpartan
Народ подскажите, правильно ли я понимаю что "Dmi3yy" это главный вдохновитель Evolution, тоесть он занимаеться ее разработкой?
Dmytro
Dmytro
Но занимаюсь не только я есть еще те кто прикладывают руки к Ево :)
Am
И другие части тела, кто чем может - опенсорс ((%
WebSpartan
Понятно, а то я увидел такую вещь и подумал что Evo уже все :))))
WebSpartan
Dmytro
Ибо:
- Laravel легче продавать
- так же легче найти разработчиков
По Ево разработчиков можно только растить, но опять же никто не хочет
Dmytro
С учетом что бизнес нужно масштабировать то одной Ево не хватает
WebSpartan
Ваши действия понятны конечно. Желаю успехов в развитии! Но за EVO жалко, понятно что когда основные разработчики с нее уходят, что же тут делать остальным :) Спасибо вам кстати за EVO и всем кто над ней работал, делал на ней парочку проектов, еще на предыдущей версии. Мое знакомство было хоть и не столь длительное но зато весьма приятным )
A
Так никто не говорит, что Дима и команда перестанет развивать проект.
A
Дима же четко сказал, что одной Ево не хватает 🙂
Am
Не мешайте человеку паниковать.
WebSpartan
Это было бы не очень логично ) Ездим на лексусе, а дома в гараже ковыряем любимый жигуль :))) Но всякое бывает конечно )
Камиль
Ё господа. Есть какая-нибудь либа вспомогательная для генерации AMP? Посоветуйте плиз
A
Axenia
Kasick (56.94) увеличил карму Ambrion (1835.46)
Dmytro
A
Vitaliy
ВП - лексус
Dmytro
Ну и поддержку клиентских проектов никто не отменял а их мноого
Dmytro
A
A
ВП это секс.
A
Разный )
WebSpartan
Нетрадиционный это Woocomerse )
Dmytro
Кста в телеге создал чатик по твилл
https://t.me/twill_laravel
Правда сейчас появился в дискорд официальный но мало ли пусть будет
Aliaksandr
Так что, помянем эво? 😎
Pathologic
что там такого в этом твилле
Pathologic
обычная убогая админка
Aliaksandr
миллиарды качественных дополнений к ларавелю, которые так и не доехали к эво3, очевидно
Pathologic
а, ну да, забыл совсем 🙃
Aliaksandr
Aliaksandr
Как раз по этому случаю приобрел напиток настоящих ковбоев
Aliaksandr
Со стремным названием Дикая Банда 😁
Pathologic
легендарный продукт
Aliaksandr
Теперь только два пути, и оба ковбойские: двинуть кони или откинуть копыта 😎
Aliaksandr
Но какие-то сомнения меня не покидают ))
Axenia
webber_12 (4383.76) увеличил карму Pathologic93 (4973.8)
Pathologic
😺