字符串的格式化就是将字符串处理为某种特定的格式。通常用户从表单中提交给服务器的数据都是字符串的形式,为了达到期望的输出效果,就需要按照一定的格式处理这些字符串后再去使用。经常见到的字符串格式化函数如下图所示:
注意:在PHP中提供的字符串函数处理的字符串,大部分都不是在原字符串上修改,而是返回一个格式化后的新字符串。
一、取出空格和字符串填补函数
空格也是一个有效的字符,在字符串中也会占据一个位置。用户在表单输入数据时,经常在无意中会多输入一些无意义的空格。因此PHP脚本在接收到通过表单处理过来的数据时,首先处理的就是字符串中多余的空格,或者其他一些没有意义的符号。在PHP中可以通过ltrim()、rtrim()和trim()函数来完成这项工作。这三个函数的语法格式相同,但作用有所不同。他们的语法格式如下所示:
★”":空格 ★”0\”:NULL ★”\t”:制表符 ★”\n”:新行 ★”\r”:回车
此外还可以使用“..”符号指定需要去除的一个范围,例如“0..9”或“a..z”表示去掉ASCII码值中的数字和小字母。它们的使用代码如下所示:
不仅可以按需求过滤掉字符串中的内容,还可以使用str_pad()函数按需求对字符串进行填补。可以用于对一些敏感信息的保护,例如数据的对并排列等。其函数的原型如下所示:
二、字符串大小写的转换
在PHP中提供了4个字符串大小写的转换函数,它们都只有一个可选参数,即传入要进行转换的字符串。可以直接使用这些函数完成大小写转换的操作。函数strtoupper()用于将给定的字符串全部转换为大写字母;函数strtolower()用于将给定的字符串全部转换为小写字母;函数ucfirst()用于将给定的字符串中的首字母转换为大写,其余字符不变;函数ucwords()用于将给定的字符串中全部以空格分割的单词首字母转换为大写。下面的程序是这些函数的使用代码,如下所示:
三、和HTML标签相关的字符串格式化
HTML的输入表单和URL上附加资源是用户将数据提交给服务器的途径,如果不能很好地处理,就有可能成为黑客攻击服务器的入口。例如,用户在发布文章时,在文章中如果包含一些HTML格式标记或JavaScript的页面转向等代码了,直接输出显示则一定会使用页面的布局发生改变。因为这些代码被发送到浏览器中,浏览器会按有效的代码去解释。所以在PHP脚本中,对用户提交的数据内容一定要先处理。在PHP中为我们提供了非常全面的HTML相关的字符串格式化函数,可以有效地控制HTML文本的输出。
①函数nl2br()
在浏览器中输出的字符串“
”标记换行,而很多人习惯使用“\n”作为换行符号,但浏览器中不识别这个字符串的换行符。即使有多行文本,在浏览器中显示时也只有这一行。nl2br()函数就是在字符串中的每个新行“\n”之前插入HTML换行符“
”。该函数的使用如下所示:
②函数htmlspecialchars()
如果不希望浏览器直接解析HTML标记,就需要将HTML标记中的特殊字符转换成HTML实体。例如,将“<”转换为“<”,将“>”转换为“>”。这样HTML标记浏览器就不会去解析,而是将HTML文本在浏览器中原样输出。PHP中提供的htmlspecialchars()函数就可以将一些预定义的字符串转换为HTML实体。此函数用在预防使用者提供的文字中包含了HTML的标记,像是布告栏或是访客留言板这方面的应用。以下是该函数可以转换的字符:
★“&”(和号)转换为“&”。 ★“””(双引号)转换为“"”。 ★“'”(单引号)转换为“'”。 ★“<”(小于)转换为“<”。 ★“>”(大于)转换为“>”。
该函数的原型如下: