整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

和HTML标签相关的字符串格式化

HTML标签相关的字符串格式化

string nl2br ( string $string )

nl2br() 就是将\n 替换成 <br> //javascript对\n才能够执行换行,对</br>是不能执行换行

htmlspecialchars() 把一些预定义的字符转换为 HTML 实体。

string htmlspecialchars(string,quotestyle,[character-set])

转换以下字符及对应的实体

& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >

第二个参数: ENT_COMPAT 只转换双引号, 保留单引号, 为默认值 compat: 兼容性

ENT_QUOTES 同时转换两种引号 quotes: 引号

ENT_NOQUOTES 不对引号进行转换

<html>
<body>
<?php
$str = "John & \" 'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "<br />";
echo htmlspecialchars($str, ENT_QUOTES);
echo "<br />";
echo htmlspecialchars($str, ENT_NOQUOTES);
?>
</body>
</html>

输出结果:John & " 'Adams'

John & " 'Adams'

John & " 'Adams'

htmlentities() 可以将所有的非ASCII码字符转换为对应的实体代码;除字母、数字、\外, 汉字和键盘上其他字符都转换

<?php
$str = "A 'quote' \" is <b>bold</b>" ;
echo htmlentities ( $str ); // 输出后源代码: A 'quote' is <b>bold</b>
echo htmlentities ( $str , ENT_QUOTES ); // 输出后源代码: A 'quote' is <b>bold</b>
?>

返回的结果:A 'quote' "is <b>bold</b>

A 'quote' "is <b>bold</b>

注意: htmlspecialchars()和htmlentities作用直接输出HTML脚本

htmlspecialchars()和htmlentities()函数对于转义字符"\"处理,不会转义实体代码,要么当转义字符对待,要么原样输出;

PHP中htmlentities和htmlspecialchars的区别

这两个函数的功能都是转换字符为HTML字符编码, 特别是url和代码字符串。防止字符标记被浏览器执行。

使用中文时没什么区别, 但htmlentities会格式化中文字符使得中文输入是乱码。

htmlentities转换所有的html标记, htmlspecialchars只格式化& ' " < 和 > 这几个特殊符号

addslashes() 在指定的预定义字符前添加反斜杠。

这些预定义字符是:单引号 (') 双引号 (") 反斜杠 (\) NULL字符(\x00)

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。

注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE数据自动运行 addslashes()。

不要对已经被magic_quotes_gpc转义过的字符串使用 addslashes(),因为这样会导致双层转义。

遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。(如:$c=(!get_magic_quotes_gpc())?addslashes($c):$c;)

在本例中,我们要向字符串中的预定义字符添加反斜杠:

<?php
$str = "Who's John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";
?>

输出:

Who's John Adams? This is not safe in a database query.

Who\'s John Adams? This is safe in a database query.

<?php
header("Content-type:text/html; charset=utf-8");
$str = "wo are \x0a studying \x00 php";
echo $str;
echo "<br>";
echo addslashes($str);
?>

输出:

wo are studying php

wo are studying >wo are studying \0 php< php



stripslashes() 删除反斜线("\")

在提交的表单数据中 ' " \ 等字符前被自动加上一个\ ,这是配置文件php.ini中选项magic_quotes_gpc在起作用,

默认是打开的,如果不处理则将数据保存到数据库时,有可能会被数据库误当成控制符号而引起错误。

通常htmlspecialchars()和stripslashes()函数复合的方式,联合处理表单中的提交的数据htmlspecialchars(stripslashes())

strip_tags()

string strip_tags ( string $str [, string $allowable_tags ] )

剥去 HTML、XML 以及 PHP 的标签。

<?php
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
?>

输出结果:Hello world!

实例:

<?php
$str = "<b>webserver;</b> & \ 'Linux' & Apache";
echo "$str"; //直接输出
echo "<br/>";
echo htmlspecialchars($str,ENT_COMPAT); //只转换双引号,为默认参数
echo "<br />";
echo htmlspecialchars($str,ENT_NOQUOTES); //不对引号进行转换
echo "<br />";
echo htmlspecialchars($str,ENT_QUOTES); //同时转换单引号和双引号
echo "<br />";
echo htmlentities($str); //将所有的非ASCII码字符转换为对应的实体代码
echo "<br />";
echo addslashes($str); //将" ' \ 字符前添加反斜线
echo "<br />";
echo stripslashes($str); //删除反斜线
echo "<br />";
echo strip_tags($str); //删除<html>标记
?>

输出结果:

webserver; & \ 'Linux' & Apache

、html概述

1、html标签是用来给文本添加语义的,而不是用来修饰文本的;

2、<meta charset="GBK">指定字符集(GB2312、UTF-8),html保存和指定字符一样,才不会乱码;

3、<!DOCTYPE html> DTD文档申明告诉浏览器我用的什么协议来写的,不是html标签;

4、webstorm快捷键大全:https://www.cnblogs.com/yeminglong/p/5995421.html

二、基础标签

1、h、p 和 hr 标签

  • 三个标签都是占一行

2、注释:<!-- -->

3、图片:<img src=" ">

  • 不会独占一行;
  • 保证不变形,指定宽或者高即可;
  • title 和 alt 属性;
  • src 可以是相对路径(../ 上一级)和绝对路径,路径中尽量不含中文,相对路径不可跨盘符,路径分隔统一写 / ,绝对路径的可移植性不好;

4、换行:<br> 用于内容未完的换行

5、跳转:<a href=" "></a>

  • 支持文字和图片的跳转;
  • 地址必须加 http 或者 https;
  • href 可以指定本地的地址;
  • target(_self 和 _blank) 属性控制跳转是否打开新的选项卡;
  • title 提示作用;

6、base 标签:<base target="_self ">

  • 统一指定 a 标签怎么打开,写在 head 中

7、假链接:点击不会跳转

  • a 标签的 href 属性值为 # 或者 javascript
  • # 会跳转到页面的顶部,而 js 不会

8、锚点:<a href="#id值"><\a>

  • 可以跳转到页面的指定位置
  • 可以跳转到其他页面的指定位置,只需在 # 前面加上页面的路径即可
  • 跳转无过度动画

三、列表标签

1、无序列表(!)

  • <ul><li><\li><\ul>;
  • 整体不可分割;
  • ul 除了 li 不建议再加其他的标签,li 标签中可以放其他标签来丰富内容;
  • li 中还可嵌套列表;
  • ws快捷生成 ul>li*3>h2+p;

2、有序列表(*)

  • <ol><li><\li><\ol>;

3、定义列表

  • dt 是标题,dd 是具体的描述;
  • 推荐一个 dt 一个 dd ,也可以一个 dt 对多个 dd 或者没有 dd;
  • dl 中不建议加其他标签,二 dt 和 dd 可以加;
  • 应用:网站尾部,图文混排(仿京东做个网站的尾部);

四、表格标签

1、格式

  • 表格的边框默认不显示(border)

2、属性

(1)宽高

  • table 和 td 可用;
  • 默认高宽根据内容调整;
  • td 设置高宽只会改变当前单元格的状态,而不会改变 table 的高宽;

(2)水平和垂直对齐(align 和 valign)

  • 水平对齐三个都可以用,而垂直对齐针对 tr 和 td;
  • table 设置 align 控制表格在水平方向的对齐,给 tr 和 td 设置都是控制单元格里的内容的对齐方式,不过 tr 影响一行,td 影响一个,tr 和 td 都设置 td 会覆盖 tr 的效果;
  • tr 和 td 设置 valign 都是控制单元格内容的垂直方向的对齐,不过 tr 影响一行,td 影响一个,tr 和 td 都设置 td 会覆盖 tr 的效果;

(3)内边距和外边距(cellpadding 和 cellspacing)

  • 两个属性都是 table 的;
  • 外边距是指格子与格子之间的空隙,而内边距是指格子与文字之间的间隙;

(4)细线表格

  • 先给 table 设置 bgcolor;
  • 再给 tr 设置 bgcolor;
  • 最后 table 设置 cellspacing;

3、表格的其他标签

(1)caption:表格的标题标签,必须写在 table 内而且需紧跟 table

(2)th:th 和 td 同级,th 有加粗的效果

4、表格的结构

(1)组成:caption 标题、thead 表头、tbody 主体、tfoot 尾部

(2)说明:

  • 浏览器自动添加 tbody;
  • table 设置高度后,tfoot 和 thead 的高度是不会变化的;

5、单元格的合并

(1)水平方向:td 属性 colspan = "2";

(2)垂直方向:td 属性 rowspan = "2";

五、表单标签

1、格式

2、input 标签

(1)type = text:

(2)password:

(3)radio:互斥要设置 name 相同;默认选中 checked

(4)checkbox:选中 checked

(5)button:

(6)image:

(7)reset:value 修改标题

(8)submit:

  • form 的 action 确定提交的地址
  • 提交数据加 name 属性

(9)hidden:

-----------------------------------------------------------------------------------------------------------------------

*相关标签:

  • label 标签:让文字与 input 标签绑定;两种绑定的方式:

  • datalist 标签:给输入框绑定输入的提示:<datalist><option>haha</option></datalist>
  • h5 中新增的 input 标签:email 、url 、number 、color、date(浏览器的支持不好)

3、非 input 标签

(1)select

(2)textarea

  • cols 和 rows 指定输入的行列,但是还是可以无限输入
  • 默认可拉伸,也可通过 css 固定大小

4、练习

(1)表单标签除了 button 外都可以用 value 来指定提交的值

(2)表单添加边框可以在 form 中添加 fieldset 来实现

六、多媒体标签

1、video 标签

(1)格式:<video src=" " autoplay="autoplay"></video>;

(2)属性:controls(控制条)poster(海报)loop(循环)preload(预加载,与autoplay冲突)muted(静音)width/height;

3)另一种 video 格式:解决浏览器的兼容

(4)让所有的浏览器支持 video 标签:通过 js 框架来实现

2、audio 标签

(1)使用基本和 video 一样,属性只有宽高和 poster 不能用,也是两种格式

3、details 和 summary 标签

(1)格式:

4、marquee标签(跑马灯效果)

(1)w3c 不推荐,但是浏览器的支持好

(2)属性:direction(方向)scrollamount(滚动的速度)loop(滚动次数,默认-1)behavior(滚动类型 slide)

(3)废弃的标签:<br><hr><font><b>加粗<u>下划线<i>斜体<s>删除线(无语义)

替代的标签:<strong><ins><em><del>(加入了语义)

5、字符实体

(1)&nbsp;空格 &lt;&gt; &copy;版权符号

(2)理解:html 占用了的不显示的特殊字符用另外的代替符号表示,使他们正常在 html 页面上显示

HTML 中,正确的字符编码是什么?

HTML5 中默认的字符编码是 UTF-8。

这并非总是如此。早期网络的字符编码是 ASCII 码。

后来,从 HTML 2.0 到 HTML 4.01,ISO-8859-1 被认定为标准。

随着 XML 和 HTML5 的出现,UTF-8 也终于到来了,解决了大量的字符编码问题。

下面是关于字符编码标准的简短概述。


在开始的时候:ASCII

计算机信息(数字、文字、图片)在电子中是以二进制 1 和 0(01000101)进行存储的。

为了规范字母数字字符的存储,创建了 ASCII(全称 American Standard Code for Information Interchange)。它为每个存储字符定义了一个独特的二元 7 位数字,支持 0-9 数字,大/小写英文字母(a-z、A-Z)和一些特殊的字符,比如 ! $ + - ( ) @ < > 。

由于 ASCII 使用一个字节(7 位表示字符,1 位表示传输奇偶控制),所以它只能表示 128 个不同的字符。这些字符中有 32 个被保留作为其他控制目的使用。

ASCII 的最大的缺点是,它排除了非英文字母。

ASCII 今天仍然在广泛使用,尤其是在大型计算机系统中。

如需深入了解 ASCII,请查看完整的 ASCII 参考手册。


在 Windows 中:ANSI

ANSI(也称为 Windows-1252),是 Windows 95 及其之前的 Windows 系统中默认的字符集。

ANSI 是 ASCII 的扩展,它加入了国际字符。它使用一个完整的字节(8 位)来表示 256 个不同字符。

自从 ANSI 成为 Windows 中默认的字符集,所有的浏览器都支持 ANSI。

如需深入了解 ANSI,请查看完整的 ANSI 参考手册。


在 HTML 4 中:ISO-8859-1

由于大多数国家使用 ASCII 以外的字符,在 HTML 2.0 标准中,默认的字符编码更改为 ISO-8859-1。

ISO-8859-1 是 ASCII 的扩展,它加入了国际字符。与 ANSI 一样,它使用一个完整的字节(8 位)来表示 256 个不同字符。

如果 HTML 4 网页使用了不同于 ISO-8859-1 的字符集,则需要在 <meta> 标签中指定,如下所示:

实例

<metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-8">

如需深入了解 ISO-8859-1,请查看完整的 ISO-8859-1 参考手册。


在 HTML5 中:Unicode(UTF-8)

由于以上所列的字符集是有限的,在多语言环境中是不兼容的,所以 Unicode 联盟(Unicode Consortium)开发了 Unicode 标准(Unicode Standard)。

Unicode 标准覆盖了(几乎)所有的字符、标点符号和符号。

Unicode 使文本的处理、存储和运输,独立于平台和语言。

HTML5 中默认的字符编码是 UTF-8。

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

当浏览器在网页中检测到 ISO-8859-1 时,通常默认为 ANSI,因为除了 ANSI 有 32 个额外的字符这一点,其他方面 ANSI 基本等同于 ISO-8859-1。

HTML5 中默认的字符集是 UTF-8。

所有的 HTML 4 处理器都支持 UTF-8,所有的 HTML5 和 XML 处理器都支持 UTF-8 和 UTF-16。