字符串的格式化就是将字符串处理为某种特定的格式。通常用户从表单中提交给服务器的数据都是字符串的形式,为了达到期望的输出效果,就需要按照一定的格式处理这些字符串后再去使用。经常见到的字符串格式化函数如下图所示:
注意:在PHP中提供的字符串函数处理的字符串,大部分都不是在原字符串上修改,而是返回一个格式化后的新字符串。
一、取出空格和字符串填补函数
空格也是一个有效的字符,在字符串中也会占据一个位置。用户在表单输入数据时,经常在无意中会多输入一些无意义的空格。因此PHP脚本在接收到通过表单处理过来的数据时,首先处理的就是字符串中多余的空格,或者其他一些没有意义的符号。在PHP中可以通过ltrim()、rtrim()和trim()函数来完成这项工作。这三个函数的语法格式相同,但作用有所不同。他们的语法格式如下所示:
复制代码 代码如下:
string ltrim(string str[,string charlist]) //从字符串左侧删除空格或其他预定义字符
string rtrim(string str[,string charlist]) //从字符串右侧删除空白字符或其他预定义字符
string trim(string str[,string charlist]) //从字符串的两端删除空白字符或其他预定义字符
这三个函数分别用于从字符串的左、右和两端删除空白字符或其他预定义字符。处理后的结果都会以新字符串的形式返回,不会在原字符串上修改。其中第一个参数str是待处理的字符串,为必选项。第二个参数charlist是过滤字符串,用于指定希望去除的特殊符号,该参数为可选。如果不指定过滤字符串,默认情况下会去掉下列字符。
★”":空格
★”0\”:NULL
★”\t”:制表符
★”\n”:新行
★”\r”:回车
此外还可以使用“..”符号指定需要去除的一个范围,例如“0..9”或“a..z”表示去掉ASCII码值中的数字和小字母。它们的使用代码如下所示:
复制代码 代码如下:
<"123 This is a test ..."; //声明一个测试字符串,左侧为数字开头,右侧为省略号
echo ltrim($str,"0..9"); //过滤掉字符串左侧的数字,输出This is a test ...
echo rtrim($str,".") //过滤掉字符串右侧的所有“.”,输出:123 This is a test
echo trim($str,"0..9 A..Z ."); //过滤掉字符串两端的数字和大写字母还有“.”,输出:his is a test
"codetitle">复制代码 代码如下:
string str_pad(string input,int pad_length[,string pad_string[,int pad_type]])
该函数有4个参数,第一个参数指明要处理的字符串。第二个参数给定处理后字符串的长度,如果该值小于原始字符串的长度,则不进行任何操作。第三个参数指定填补时所用的字符串,它为可选参数,如果没有指定则默认使用空格填补。最后一个参数指定填补的方向,它有三个可选值:STR_PAD_BOTH、STR_PAD_LEFT和STR_PAD_RIGHT,分别代表在字符串两端、左和右进行填补。也是一个可选参数,如果没有指定,则默认值是STR_PAD_RIGHT。函数str_pad()的使用代码如下所示:
复制代码 代码如下:
<"LAMP";
echo str_pad($str,10); //指定长度为10,默认使用空格在右边填补“LAMP”
echo str_pad($str,10,"-="STR_PAD_LEFT); //指定长度为10,指定在左边填补“-=-=-=LAMP”
echo str_pad($str,10,"_"STR_PAD_BOTH); //指定长度为10,指定在左边填补“___LAMP___”
"codetitle">复制代码 代码如下:
<"lamp is composed of Linux 、Apache、MySQL and PHP";
echo strtolower($lamp); //输出:lamp is composed of linux、apache、mysql and php
echo strtoupper($lamp); //输出:LAMP IS CONPOSED OF LINUX、APACHE、MYSQL AND PHP
echo ucfirst($lamp); //输出:Lamp is composed of Linux 、Apache、MySQL and PHP
echo ucwords($lamp); //输出: Lamp Is Composed Of Linux 、Apache、MySQL And PHP
"codetitle">复制代码 代码如下:
<"lamp is composed of Linux 、Apache、MySQL and PHP";
echo ucfirst(strtolower($lamp)); //输出:Lamp is composed of linux、apache、mysql and php
"codetitle">复制代码 代码如下:
<"One line.\nAnother line."); //在“\n”前加上“<br/>”标记
/*输出以下两行结果
One line.<br/>
Another line.
*/
"codetitle">复制代码 代码如下:
string htmlspecialchars(string string [,int quote_style[,string charset]])
该函数中第一个参数是带有HTML标记待处理的字符串。第二个参数用来决定引号的转换方式。默认值为ENT_COMPAT将只转换双引号,而保留单引号;ENT_QUOTES将同时转换这两种引号;而ENT_NOQUOTES将不对引号进行转换。第三个参数用于指定所处理字符串的字符集,默认的字符集是“ISO88511-1”。
复制代码 代码如下:
<html>
<body>
<"<B>WebServer:</B> & 'Linux' & 'Apache'"; //将有HTML标记和单引号的字符串
echo htmlspecialchars($str,ENT_COMPAT); //转换HTML标记和转换双引号
echo "<br>\n";
echo htmlspecialchars($str,ENT_QUOTES); //转换HTML标记和转换两种引号
echo "<br>\n";
echo htmlspecialchars($str,ENT_NOQUOTES); //转换HTML标记和不对引号转换
echo "<br>\n";
"codetitle">复制代码 代码如下:
<B>WebServer:</B> & ‘Linux' & ‘Apache'
<B>WebServer:</B> & ‘Linux' & ‘Apache'
<B>WebServer:</B> & ‘Linux' & ‘Apache'
如果在浏览器中查看源代码,会看到如下结果:
复制代码 代码如下:
<html>
<body>
<B>WebServer:</B>&'Linux'&'Apache'<br> //没有转换单引号
<B>WebServer:</B>&'Linux'&'Apache'<br>
<B>WebServer:</B>&'Linux'&'Apache' //没有转换单引号
</body>
</html>
在PHP中还提供了htmlentities()函数,可以将所有的非ASCII码字符转换为对应的实体代码。该函数与htmlspecialchars()函数的使用语法格式一致,该函数可以转义更多的HTML字符。下面的代码为htmlentities()函数的使用范例:
复制代码 代码如下:
<"一个'quote'是<b>bold</b>";
//输出&0qrave;»¸ö 'quote' ÊÇ <b> <:b>bold</b>
echo htmlentities($str);
//输出:一个'quote' 是 <b>bold</b>
echo htmlentities($str,ENT_QUOTES,gb2312);
"codetitle">复制代码 代码如下:
string strip_tags(string str[,string allowable_tags]); //删除HTML的标签函数
该函数有两个参数,第一个参数提供了要处理的字符串,第二个参数是一个可选的HTML标签列表,放入该列表中的HTML标签将被保留,其他的则全部被删除。默认将所有HTML标签都删除。下面的程序为该函数的使用范围,如下所示:
复制代码 代码如下:
<"<font color='red' size=7>Linux</font> <i>Apache</i> <u>Mysql</u> <b>PHP</b>";
echo strip_tags($str); //删除了全部HTML标签,输出:Linux Apache Mysql PHP
echo strip_tags($str,"<font>"); //输出<font color='red' size=7>Linux</font>Apache Mysql PHP
echo strip_tags($str,"<b><u><i>"); //输出Linux <i>Apache</i> <u>Mysql</u> <b>PHP</b>
"codetitle">复制代码 代码如下:
<"http://www.lampbrother.net"); //反转后输出:ten.rehtorbpmal.www//:ptth
"codetitle">复制代码 代码如下:
string number_format(float number[,int decimals[,string dec_point,string thousands_sep]])
复制代码 代码如下:
<",","."); //输出123.456.789,00千位使用(.)分隔了,并保留两位小数
"codetitle">复制代码 代码如下:
<"lampbrother";
echo md5($password)."<br>";
//将输入的密码和数据库保存的匹配
if(md5($password) == '5f1ba7d4b4bf96fb8e7ae52fc6297aee'){
echo "密码一致,登录成功";
}
?>
在PHP中提供了一个对文件进行MD5加密的函数md5_file(),使用的方式和md5()函数相似。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]