如何限制文本';s的高度(或行数);由所见即所得编辑器生成


How to limit the text's height (or the number of lines) that's generated by WYSIWYG editor?

我有一个允许用户输入产品描述的表单,在列表页面中,我想打印出简短的产品描述(只有几行)。

但是描述中包含html标签,我已经尝试了一些解决方案,但它们不能解决我的问题。

(例如:如果我使用子字符串函数缩短文本,但未关闭的标签会有问题)

您可以快速剥离标签,并在末尾添加省略号以添加装饰:

function shorten($text, $length)
{
   $text = trim( strip_tags($text) );
   $textLen = strlen($text);
   if($textLen < $length)
   { 
     return $text;
   }
   else
   {
     $text = substr($text, 0, $length);
     $text .= '&hellip;';
     return $text;
   }
}

注意strip_tags()不是万无一失的,如果你有格式错误的html标签,可能会弄乱文本,但这是一个"快速和肮脏"的解决方案;否则,您需要使用适当的工具(例如DOMDocument或更好的解析器)解析html,然后执行substr()

您可以使用函数strip_tags($content);来删除标记。。。