<?php
$str=" 去除前后空格 ";
echo "方括号中为原始字符串:[".$str."]<br>";
echo "原始字符串长度:".strlen($str)."<br>";
$str1=ltrim($str);
echo "执行ltrim()之后的长度:".strlen($str1)."<br>";
$str2=rtrim($str);
echo "执行rtrim()之后的长度:".strlen($str2)."<br>";
$str3=trim($str);
echo "执行trim()之后的长度:".strlen($str3)."<br>";
echo "去掉首尾空格之后的字符串:[".$str3."]";
?>
Article Detail
ltrim()、rtrim()与trim()删除字符空格
"; echo "原始字符串长度:".strlen($str)." "; $str1=ltrim($str); echo "执行ltrim()之后的长度:".s...
专业的字符画制作人员会用全角空格来做,这样就不担心浏览器的空格合并问题了
认识word-break属性
[table][thead] [tr] [th]属性值[/th] [th]解释[/th] [/tr] [/thead] [tbody] [tr] [td]normal[/td] [td]使用浏览器默认的换行规则(默认)[/td] [/tr] [tr] [td]break-all[/td] [td]允许在单词内换行[/td] [/tr] [tr] [td]keep-all[/td] [td]只能在半角空格或连字符处换行[/td] [/tr] [/tbody][/table]
现在大多数的浏览器默认的换行规则为半角空格和连字符,因此normal和keep-all的效果是一样的。
认识word-wrap属性
[table][thead] [tr] [th]属性值[/th] [th]解释[/th] [/tr] [/thead] [tbody] [tr] [td]normal[/td] [td]使用浏览器默认的换行规则(默认)[/td] [/tr] [tr] [td]break-word[/td] [td]长单词进行换行[/td] [/tr] [/tbody][/table]
word-break: break-all, 打破了浏览器的默认换行规则
word-wrap: break-word, 保留浏览器的默认换行规则,一旦一个连续长单词一行容纳不下,就只对这个长单词进行打破换行
为什么浏览器会自动压缩空格?
规范如此,就是这么任性https://www.w3.org/TR/REC-html40/struct/text.html#h-9.1
如果不自动压缩空格,那我们写html的时候就只能写成1行了,否则先这样的代码就会出现大段的空白。
既然浏览器会压缩多个空格,那只要保证文本里每次只有一个空格相邻不就可以了。
自动规避了浏览器的合并空格策略。
这个思路来自于富文本编辑器,
word-wrap: 决定句尾放不下单词时,单词是否换行
word-break: 决定单词内该怎么换行
平文本可以配合white-space: pre-wrap来解决多空格压缩显示问题
富文本采用的解决方案是对空格进行间隔html转义,这种方法更灵活,可以适应不同的场景,也适用于平文本。
white-space我们更多的时候只用到nowrap的属性,来配合实现…的特效,实际它还有更多的姿势未解锁。
white-space: normal | nowrap | pre | pre-wrap | pre-line
我们重点关注pre开头的几个属性。pre是preserve(保留)的缩写。没错,它就跟保留空格有关系。
pre: 保留所有的空格和回车,且不允许折行。
pre-wrap: 保留所有的空格和回车,但是允许折行。
pre-line: 会合并空格,且允许折行
后台按照用户的输入的原始空格返回,不用做转义,前端加上
CSS单词换行and断词
字符画很好玩,压缩空格就全乱了