Как обрезать html-текст и при этом сохранить формат в PHP


У меня есть текст с минимальными тегами, такими как "a", "b", "i" и т. Д. Внутри него. Теперь я хочу сократить текст до 100 символов и все еще хочу сохранить форматирование. Я не хочу удалять теги из текста.

Возможно ли это? как это можно сделать?

Author: Wind Chimez, 2010-06-24

2 answers

Я видел ответ на этот вопрос в другом вопросе здесь, предоставленная ссылка была http://snippets.dzone.com/posts/show/7125 автор: Деннис Педри на Как обрезать HTML до определенного количества символов?

Надеюсь, это поможет, в основном это короткий класс, который будет делать то, что вы хотите, с помощью очень простого вызова, если вы прокрутите вниз, некоторые люди тоже внесли несколько улучшений.

С уважением Лука

 1
Author: Luke, 2017-05-23 11:48:23

Простым способом было бы сделать это с помощью javascript, но решение с использованием php возможно, если у вас есть теги + содержимое на стороне сервера. Все, что вам нужно сделать, это проанализировать содержимое тега+, чтобы отделить теги от содержимого, а затем сократить текст содержимого до 100 символов. Добавьте разделенные теги, которые у вас все еще есть, в переменную, и все готово.

Очень простой пример:

$fulltag_as_string = '<b>This is my text ... blah, blah .. with length more than 100 characters</b>';

$arr = split(">",$fulltag_as_string);
$arr2 = split("<",$fulltag_as_string);
$arr3 = split("<",$arr[1]);

$truncated_text = strlen($arr3[0] > 100) ? substr($arr3[0],0,100) : $arr3[0];

echo $resulting_tag = $arr[0].">".$truncated_text."<".$arr2[2];
 1
Author: Thariama, 2010-06-24 08:21:07