Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод текста с тегами по числу символов без них

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Надо вывести строку по числу символов без тегов, сохранив сами теги
Aero
Отправлено: 21 Июля, 2015 - 18:37:45
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




Есть некая переменная, допустим $field.
В этой переменной есть текст с тегами.
Я могу использовать strip_tags() и substr() чтобы получить число символов (байт, в курсе) без учёта тегов.
Но вот незадача: как мне получить число символов с тегами при том-же количестве текстовых (печатаемых) символов?

Пример:
PHP:
скопировать код в буфер обмена
  1. $field = 'This is <b>simple</b> text.<br>Line 2.';
  2.  
  3. $printsym = ?? //Вот тут надо сделать, чтобы было 'This is <b>si', т.е. текстовых символов 10 (это стока 'This is si' без тегов, оно задаётся как длина текста) + теги 1 шт. на 3 символа ('<b>' между пробелом и 'si'), итого = 13 символов.


Как получить из числа нужных к печати символов без тегов это самое число символов с тегами?

(Отредактировано автором: 21 Июля, 2015 - 18:40:17)

 
 Top
KingStar
Отправлено: 22 Июля, 2015 - 22:20:55
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


Помог: 69 раз(а)






-----
То что программа работает, не означает что она написана правильно!
 
 Top
Aero
Отправлено: 23 Июля, 2015 - 18:03:47
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




KingStar пишет:


Вы не поняли суть вопроса.
strlen() выдаёт число байт.
Чтобы узнать кол-во текстовых (без тегов) символов надо до него strip_tags использовать.
НО!
Чтобы обрезать ту самую строку с тегами но по числу текстовых символов надо узнать сколько strip_tags обрезал и добавить уже к результату от strlen после strip_tags.

Вот мне надо узнать число символов исходного текста с тегами имея число текстовых символов... Или узнать, сколько было урезано strip_tags.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB