第四章 字符串操作与正则表达式(2)
2016-07-26 21:36 yojiaku 阅读(451) 评论(0) 编辑 收藏 举报4.2 字符串的格式化
字符串的整理:chop() , ltrim() , trim()
整理字符串的第一步是清理字符串中多余的空格。
下面依旧以上一篇用到的例子,逐步完善,第一步:
$name = $_POST['name']; $email = $_POST['email']; $feedback = $_POST['feedback'];
我们可以用trim()来整理用户输入的数据,即将上面的代码改为:
$name = trim($_POST['name']); $email = trim($_POST['email']); $feedback = trim($_POST['feedback']);
trim()函数可以去除字符串开始位置和结束位置的空格,并将结果字符串返回:string trim ( string $str
[, string $character_mask
= " \t\n\r\0\x0B" ] )
其有两个参数,第一个必选,第二个可选,若没有写第二个参数,则默认情况下是去除字符串中的换行符(\n)和回车符(\r),水平和垂直制表符(\t & \x0B)、字符串结束符(\0)和空格;若有第二个参数,则去掉此参数代表的字符。而ltrim()从字符串左边除去空格,rtrim()从字符串右边除去空格。
chop():removes the last character in the string(去掉字符串最后的字母)。
格式化字符串以便显示:
1.使用HTML格式化:nl2br()函数--string nl2br ( string $string
[, bool $is_xhtml
= true ] )
直接使用"\n"在浏览器中是不会显示出效果的,举例:
echo "hello \n php";
像这样写的效果图是:
所以我们使用nl2br()函数:
#nl2br() echo nl2br("hello \n php");
结果:
2.为打印输出而格式化字符串
到现在为止,我们多使用echo语言结构将字符串输出到浏览器。PHP也支持print()结构,它的功能与echo一样,但具有返回值(true或false)。
print():int print ( string $arg
),准确来说,返回值一定是1.
举例:
#print() print("Hello World"); print "print() also works without parentheses."; print "This spans multiple lines. The newlines will be output as well";
输出结果为:
除print之外,还有printf()和sprintf()
printf():int printf ( string $format
[, mixed $args
[, mixed $...
]] ),返回值是这个字符串的长度(Returns the length of the outputted string)。
(这里与书上讲的有出入,书上讲的是void)
sprintf():string sprintf ( string $format
[, mixed $args
[, mixed $...
]] ),返回一个格式化了的字符串。
传递给这两个函数的第一个参数都是字符串格式,它们使用格式代码而不是变量来描述输出字符串的基本形状。(这里的语法可以参考C语言)
3.改变字符串中的字母大小写
strtoupper():将字符串全部转换为大写
strtolower():将字符串全部转换为小写
ucfirst():如果字符串的第一个字符是字母,就将该字母转换为大写
ucwords():将字符串每个单词的第一个字母转换为大写
4.格式化字符串以便存储:addslashes() & stripslashes()
对于引号、反斜杠(\)、NULL字符,将它们插入数据库中的时候,数据库会将这些字符解释成控制符,我们就需要将它们进行转义,以便使像MySQL这样的数据库能够理解我们表示的是有实际意义的特殊文本字符,而不是控制序列。
转义方法:
1,使用反斜杠(\)--对所有特殊字符都管用
2,addslashes()函数:string addslashes ( string $str
)。调用这个函数后,所有引号都会被加上反斜杠,例如:
#addslashes() $str = "Is your name O'Reilly?"; echo addslashes($str);
结果:
3,striplashes()函数:string stripcslashes ( string $str
)。调用这个函数后,会移除反斜杠,例如:
#addslashes() $str = "Is your name O'Reilly?"; echo addslashes($str); echo "<br />"; #stripcslashes() echo stripcslashes($str);
结果: