laravel框架中:一个模块中,有一些文字,文字中可能包含超链接,要让超链接正常显示,且让中文后紧跟英文,英文也换行显示:
1.HTML相关处理
前端从后端获取到的超链接数据形式 是 HTML实体,要将数据进行处理 转换成 字符,页面上以超链接形式显示
php 中:html_entity_decode() 函数把 HTML 实体转换为字符
html_entity_decode() 函数是 htmlentities() 函数的反函数。
laravel框架里 ,html 页面中加上 html_entity_decode() 函数对 要显示的文字数据 进行处理
eg:
{!! html_entity_decode($text) !!}
其他框架处理按此处理逻辑,将数据进行
2.css 相关处理
给元素一个宽度,然后
① 设置该元素- - -word-break: break-all;
② 设置该元素下的 a 链接- - -display: inline;
.text {
width: 185px;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
text-overflow: ellipsis;
// 英文换行处理
word-break: break-all;
}
.text a {
display: inline;
}
文字中没有超链接,要多行换行处理的话,这样写就行:
.text {
width: 185px;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
text-overflow: ellipsis;
}
有链接的换行处理,英文字符换行核心样式:
.text {
word-break: break-all;
}
.text a {
display: inline;
}
英文字符换行其他参考样式处理:
.text {
word-wrap: break-word;
white-space: normal;
word-break: break-all;
width: 200px;
}