我有一个允许用户输入产品描述的表单,在列表页面中,我想打印出简短的产品描述(只有几行)。
但是描述中包含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 .= '…';
return $text;
}
}
注意strip_tags()不是万无一失的,如果你有格式错误的html标签,可能会弄乱文本,但这是一个"快速和肮脏"的解决方案;否则,您需要使用适当的工具(例如DOMDocument或更好的解析器)解析html,然后执行substr()
您可以使用函数strip_tags($content);
来删除标记。。。