Как обрезать html-текст и при этом сохранить формат в PHP
У меня есть текст с минимальными тегами, такими как "a", "b", "i" и т. Д. Внутри него. Теперь я хочу сократить текст до 100 символов и все еще хочу сохранить форматирование. Я не хочу удалять теги из текста.
Возможно ли это? как это можно сделать?
2 answers
Я видел ответ на этот вопрос в другом вопросе здесь, предоставленная ссылка была http://snippets.dzone.com/posts/show/7125 автор: Деннис Педри на Как обрезать HTML до определенного количества символов?
Надеюсь, это поможет, в основном это короткий класс, который будет делать то, что вы хотите, с помощью очень простого вызова, если вы прокрутите вниз, некоторые люди тоже внесли несколько улучшений.
С уважением Лука
Простым способом было бы сделать это с помощью 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];