[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Правильно обрезать текст с html кодом
123456
имеется текст, который содержит Html коды.

Как правильно обрезать его до N символа, не задев html код.


Допустим дан текст:
<h1>Заголовок</h1><p>текст</p>

и нам надо обрезать до 10 символа включительно.

Это получится:
<h1>Заголо

т.е. не закрытый h1

а должно получиться Заголовок т

как правильно сделать?
Игорь_Vasinsky
а закрытые теги оставлять?
а как быть с <br/>?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
123456
Я сам незнаю.

это будут новости с html тегами
Игорь_Vasinsky
на превью - нафиг тебе html??? оставь просто текст, остальное strip_tags()

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
123456
Цитата
strip_tags -- Удаляет HTML и PHP тэги из строки


Чем это может помочь?


Цитата
нафиг тебе html??? оставь просто текст


html, чтоб можно было оформить новость как угодно. Т.е. шрифт больше меньше, указать цвет. Задать жирный, курсивный и т.д. Вставить картинку... и так далее
123456
в админке пишешь добавляешь новость с тегами html

потом на странице новостей выводим краткий текст. И как его вывести хрен его знает. Может обработать через strip_tags и обрезать до N символов?
Hello
Добавьте в текст свою метку, к примеру как на хабрахабре.
Все что до нее - выводится в превью.
Если нет метки - обрезать через substr

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Seva
Вот код для обрезания html текста/тегов. С умом их закрывает. Мне очень помогло это на сайте ).

preg_match('~^(?>(?><[^>]*>\s*)*[^<]){0,2000}(?=\s)~s', $ss2, $m);  
echo $m[0];


собственно $ss2 - что надо обрезать. В итоге получим обрезанный кусок, с закрытыми тегами ) В свое время тоже откуда то взял )
Игорь_Vasinsky
Цитата
html, чтоб можно было оформить новость как угодно. Т.е. шрифт больше меньше, указать цвет. Задать жирный, курсивный и т.д. Вставить картинку... и так далее


у тя чё все новости с разными стилями? biggrin.gif

выводишь каждую новость в блоке у этого блока стиль в CSS

вообще - по уму делать дополнительное поле для анонса новости, чем 44 раза preg_match делать.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Игорь_Vasinsky, вы так говорите будто не возможен вариант, когда контент-менеджер добавляет на сайт материалы по средствам того же tinyMCE, и на сайте они должен выглядеть так же как и в редакторе
Игорь_Vasinsky
в админке CMS есть "анонс новости" и "Полная новость"

а добавлять они могут по разному, а выглядит потом всё вот так http://koncertufa.ru/

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.