HTML中的表单是网络用户数据提交给做事器的紧张路子,如果处理不会被黑客利用成为攻击做事器的入口。
例如在用户发布文章时,文章如果包括HTML标记或者JavaScript页面转向的代码,如果直接输出的话会使页面布局发生改变。
这些代码不做处理会被浏览器理解成有效代码去阐明。
以是在php中,对用户提交的数据内容一定要先处理。
我们可以用PHP中HTML干系的字符串格式化函数,有效掌握HTML文本输出。

函数nl2br()

在浏览器中输出的字符串只能通过HTML的“

phphtml格式化清点PHP常用的HTML标签相干的字符串格局化函数你知道几个 HTML

”标记换行,也有很多人习气利用“\n”作为换行符号,但是浏览器并不识别这个字符串换行符。
纵然有多行文本,在浏览器中显示只有一行。
nl2br()函数便是在字符串的每个新行“\n”之前插入HTML换行符“

”。
比如:echo nl2br(\"大众first line,\n second line\公众);。

函数htmlspecialchars()

如果不肯望浏览器直接解析HTML标记,须要把HTML标记中的分外字符转换成HTML实体。
例如,将\"大众<\"大众转换为“<”,将“>”装换为“>”。
这样HTML标记浏览器就不会去解析,而是将HTML文本在浏览器中原样输出。
php中供应的htmlspecialchars()函数就可以将一些预定义的字符转换为HTML实体。
此函数用在预防利用者供应的笔墨中包含了HTML的标记,像是布告栏或是访客留言板这方面的运用。
它可以转换的字符:

“&”(和号)转换为“&;”。

““”(双引号)转换为“\"大众;”。

“‘’”(单引号)换为“';”。

“<”(小于号)转换为“<”。

\"大众>\"大众(大于号)转换为“>”。

函数htmlspecialchars()有三个参数,第一个参数是必选函数。
第二个参数是可选参数,用来决定引号的转换办法。
(ENT_COMPAT转换双引号,保留单引号;ENT_QUOTES同时转换两种引号;ENT_NOQUOTES不对引号转换。
)第三个参数是可选的值,用于指定处理的字符串的字符集,默认的字符集是“ISO8859-1”.其他的可以利用的合法字符集

htmlentities()函数

htmlentities()函数可以将所有非ASCII码转换为对应的实体代码。
htmlentities()函数和htmlspecialchars()函数利用语法格式同等,单该函数可以转义更多的HTML字符。

strip_tags函数

函数htmlspecialchars()可以将HTML中的标记符号转换为对应的HTML实体,有时可以直接删除用户输入的HTML标签,也是很有必要的。
PHP供应的strip_tags函数默认便是可以删除字符串中的所有的HTML标签,也可以有选择性的删除一些HTML标记。
比如说公告栏或者访客留言,比如说在论坛发布文章时,可以预留一些可以改变笔墨大小、颜色、粗体和斜体等HTML标记,而删除一些对页面布局有影响的HTML标记。

有一些函数文章中没有提到,欢迎大家补充。
每天学习一个知识点,逐日寄语“滴水穿石,不是力量大,而是功夫深。