多少次我们无醉不欢
咒骂人生太短 唏嘘相见恨晚
### 问题解决
在PHP开发过程中,使用`trim`想去掉空格,不成功;
打印出来字符串,后面确实带有空格,在控制台又显示有` `(此处所指的nbsp是实体,而不是nbsp四个字符)
后来改用`str_replace`来去掉空格,依然失败;
到底是什么原因,于是刚开始想到了是不是全角和半角的空格问题;试着换成全角的空格,依然失败;
后来又使用escape尝试输出,发现是xa0,于是就想`trim($converted, “xa0”)`,无果
在php手册的trim函数下评论中发现:
1
| trim($otmp, chr(0xc2) . chr(0xa0))
|
使用后,成功去掉空格;另外,str_replace也可使用:
1
| $otmp = str_replace(chr(0xc2) . chr(0xa0), '', $otmp);
|
效果一样,成功解决~~~
ps:此空格产生的原因是,我在获取到html代码之后strip_tags去掉所有标签,而产生了一些实体空格
html实体
在 HTML 中,某些字符是预留的。
在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。
如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。
字符实体类似这样:&entity_name;或者&#entity_number;
如需显示小于号,我们必须这样写: <
或 <
提示:使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。
不间断空格(non-breaking space)
HTML 中的常用字符实体是不间断空格(
)。
浏览器总是会截短 HTML 页面中的空格。如果您在文本中写 10 个空格,在显示该页面之前,浏览器会删除它们中的 9 个。如需在页面中增加空格的数量,您需要使用
字符实体。