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
Форумы портала PHP.SU :: Версия для печати :: Вывод текста с тегами по числу символов без них
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Вывод текста с тегами по числу символов без них

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

1. Aero - 21 Июля, 2015 - 18:37:45 - перейти к сообщению
Есть некая переменная, допустим $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 символов.


Как получить из числа нужных к печати символов без тегов это самое число символов с тегами?
2. KingStar - 22 Июля, 2015 - 22:20:55 - перейти к сообщению
3. Aero - 23 Июля, 2015 - 18:03:47 - перейти к сообщению
KingStar пишет:


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

Вот мне надо узнать число символов исходного текста с тегами имея число текстовых символов... Или узнать, сколько было урезано strip_tags.

 

Powered by ExBB FM 1.0 RC1