字符串介绍
字符串是由零个或多个字符组成的有限序列,字符包括以下几种类型:
数字类型,如:1,2,3等
字母类型,如:a,b,c,d等
特殊字符,如:$,%,#,&等
不可见字符,如:\t(Tab字符),\n(换行符),\r(回车)等等
其中,不可见字符是一些用来控制字符串格式化输出的,在浏览器上不可见,只能看到输出效果。
字符串的引用分3种情况:单引号,双引号和界定符(见数据类型章节讲解)
1.字符串输出
echo():可以输出多个字符串,像下面这样:echo 'a','b','c'; //输出:abc
print():只能输出一个字符串,print 'Hello World';
die()----exit():退出、终止,其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。
2.格式化字符串
number_format():函数通过千位分组来格式化数字。
语法:number_format(number, decimals, decimalpoint, separator)
参数 | 描述 |
number | 必需。要格式化的数字。 如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。 |
decimals | 可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。 |
decimalpoint | 可选。规定用作小数点的字符串。 |
separator | 可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xxx" 仅输出 "x"。 注释:如果设置了该参数,那么所有其他参数都是必需的。 |
注释:该函数支持一个、两个或四个参数(不是三个)
eg:
$a=1000000.12345; echo $a."<br>"; //1000000.12345 echo number_format($a)."<br>"; //小数点保留三位,千分位用“,”隔开,小数点用“.” //1,000,000 echo number_format($a,3,'.',',')."<br>"; //1,000,000.123 echo number_format("5000000")."<br>"; //5,000,000 echo number_format("5000000",2)."<br>"; //5,000,000.00 echo number_format("5000000",2,",","."); //5.000.000,00
sprintf():把格式化的字符串写入变量中。
语法:sprintf(format,arg1,arg2,arg++)
arg1、arg2、arg++ 参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符位于 % 符号之后,由数字和 "\$" 组成。
参数 | 描述 |
---|---|
format | 必需。规定字符串以及如何格式化其中的变量。 可能的格式值: %% - 返回一个百分号 % %b - 二进制数 %c - ASCII 值对应的字符 %d - 包含正负号的十进制数(负数、0、正数) %e - 使用小写的科学计数法(例如 1.2e+2) %E - 使用大写的科学计数法(例如 1.2E+2) %u - 不包含正负号的十进制数(大于等于 0) %f - 浮点数(本地设置) %F - 浮点数(非本地设置) %g - 较短的 %e 和 %f %G - 较短的 %E 和 %f %o - 八进制数 %s - 字符串 %x - 十六进制数(小写字母) %X - 十六进制数(大写字母) 附加的格式值。必需放置在 % 和字母之间(例如 %.2f): + (在数字前面加上 + 或 - 来定义数字的正负性。默认地,只有负数做标记,正数不做标记) ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。) - (左调整变量值) [0-9] (规定变量值的最小宽度) .[0-9] (规定小数位数或最大字符串长度) 注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。 |
arg1 | 必需。规定插到 format 字符串中第一个 % 符号处的参数。 |
arg2 | 必需。规定插到 format 字符串中第二个 % 符号处的参数。 |
arg++ | 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。 |
eg:
$num = 123213.666666; echo sprintf("%.2f", $num)."<br>"; ; //输出:123213.67 $str1 = "Hello"; $str2 = "Hello world!"; echo sprintf("[%s]",$str1)."<br>"; //[Hello] echo sprintf("[%8s]",$str1)."<br>"; //[ Hello] echo sprintf("[%-8s]",$str1)."<br>"; //[Hello ] echo sprintf("[%08s]",$str1)."<br>"; //[000Hello] echo sprintf("[%'*8s]",$str1)."<br>"; //[***Hello] echo sprintf("[%8.8s]",$str2)."<br>"; //[Hello wo]
$number = 123; $txt = sprintf("带两位小数:%1\$.2f <br>不带小数:%1\$u",$number); echo $txt; //带两位小数:123.00 //不有小数:123
printf():格式化字符串输出。
语法:printf(format,arg1,arg2,arg++)
参数和描述同 sprintf()函数一样。
eg:
$number = 9; $str = "北京"; printf("在%s有 %u 百万辆自行车。",$str,$number); //在北京有 9 百万辆自行车。
$number = 123; printf("有两位小数:%1\$.2f<br>没有小数:%1\$u",$number); //有两位小数:123.00 //没有小数:123
相关函数:
vsprintf():函数把格式化的字符串写入变量中。与 sprintf() 不同,vsprintf() 中的参数位于数组中。
vprintf():输出格式化的字符串。与 printf() 不同,vprintf() 中的参数位于数组中。
fprintf():把文本写入text.txt文本文件。
vfprintf():vfprintf() 函数把格式化的字符串写到指定的输出流(例如:文件或数据库)。与 fprintf() 不同,vfprintf() 中的参数位于数组中。
round() 函数对浮点数进行四舍五入。
语法:round(x, prec)
返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
eg:
echo(round(0.60)); //1 echo(round(0.50)); //1 echo(round(0.49)); //0 echo(round(-4.40)); //-4 echo(round(-4.60)); //-5
3.查找(检索)字符位置
strpos($str,search,[int]):查找search在$str中的第一次位置从int开始(区分大小写)
$str,search是必须参数
返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。字符串位置从 0 开始,不是从 1 开始。
eg:
echo strpos("You love php, I love php too!","php"); //strrpos()第一次出现的位置,区分大小写,输出9
stripos() :函数查找字符串在另一字符串中第一次出现的位置。(不区分大小写,用法同上)
strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int开始(区分大小写,用法同上)
eg:
echo strrpos("You love php, I love php too!","php"); //输出:21
strripos():查找字符串在另一字符串中最后一次出现的位置(不区分大小写,用法同上)
4.查找、提取子字符串(双字节)
substr_count() :函数检索子串出现的次数,语法格式:
substr_count(string, substring, start, length)
string必需。规定被检查的字符串。
substring 必需。规定要搜索的字符串。
star t可选。规定在字符串中何处开始搜索。该值是从0开始计算的
length可选。规定搜索的长度。
eg:
$str = "This is nice"; echo strlen($str)."<br>"; // 使用 strlen() 来返回字符串长度 //12 echo substr_count($str,"is")."<br>"; // 字符串中 "is" 出现的次数 //2 echo substr_count($str,"is",2)."<br>"; // 字符串缩减为 "is is nice" //2 echo substr_count($str,"is",3)."<br>"; // 字符串缩减为 "s is nice" //1 echo substr_count($str,"is",3,3)."<br>"; // 字符串缩减为 "s i" 0
strstr() :查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符。
语法:strstr(string,search,before_search)
string必需。规定被搜索的字符串。
search必需。规定所搜索的字符串。如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符。
before_search可选。默认值为 "false" 的布尔值。如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。
eg:
echo strstr("I love Shanghai!","Shanghai"); //输出:Shanghai! //查找 "Shanghai" 在 "I love Shanghai!" 中的第一次出现,并返回该字符串至剩余部分
stristr():功能同strstr,只是不区分大小写。
strrchr():查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。
eg:
echo strrchr("Hello world! What a beautiful day!",'What'); //What a beautiful day!
5.获取字符串长度
strlen() 函数主要用于获取自定字符串str的长度。
语法:int strlen(string str)
【汉字占两个字符,数字、英文、小数点、下划线和空格占一个字符】
函数 strlen()在获取字符串长度同时,也可以用来检测字符串的长度。
eg:
echo strlen("编程体验网:www.bcty365.com");//输出指定字符串的长度,输出:26
6.比较字符函数
比较字符串的方法有很多种,第一种是使用strcmp()函数和strcasecmp()函数按字节比较。第二种是使用strnatcmp()函数按自然排序比较。第三种是使用strncmp()从源字符串的位置比较。
· 按字节比较:
strcmp()和strcasecmp()【前者区分字符的大小写,而后者不区分大小写】,语法如下:
int strcmp(string str1,string str2)
参数str1,str2是要比较的两个字符串,如果相等则返回值为0;如果str1大于str2,返回值大于0;否则返回值小于0
【该函数经常在用户登录时验证用户名和密码是否正确,区分大小写】
$str3="mrsoft";//定义字符串常量 $str4="MRSOFT";//定义字符串常量 echo strcmp($str3,$str4); //注意该函数区分大小写,输出1 echo strcasecmp($str3,$str4);//该函数不区分字母大小写,相等,输出0
· 按自然排序法比较:
strnatcmp(),strnatcasecmp()该函数比较的是字符串中数字部分,将字符串中的数字按照大小进行比较。【前者区分大小写,后者不区分大小写】,语法如下:
int strnatcmp(string str1,string str2)
参数str1,str2是要比较的两个字符串,如果相等则返回值为0;如果str1大于str2,返回值大于0;否则返回值小于0
eg:
$str1="str2.jpg";//定义字符串常量 $str2="str10.jpg";//定义字符串常量 $str3="mrsoft1";//定义字符串常量 $str4="MRSOFT2";//定义字符串常量 echo strcmp($str1,$str2); //按字节进行比较,返回1 echo strcmp($str3,$str4); //按字节进行比较,返1 echo strnatcmp($str1,$str2); //按"自然排序"法进行比较,返回-1 echo strnatcmp($str3,$str4); //按"自然排序"法进行比较,返回1 输出:1 1 -1 1
· 指定从源字符串的位置比较:
strncmp(),该函数用来比较字符串的前n个字符。
语法:int strncmp(string str1,string str2, int len)(区分大小写)
参数str1,str2是要比较的两个字符串,如果相等则返回值为0;如果str1大于str2,返回值大于0;否则返回值小于0
len是必选参数,指定每个字符串中参与字符比较的数量(长度)
strncasecmp()用法同上,不区分大小写;与strcmp()和strcasecmp的区别是,有len参数。
7.添加字符串
str_pad():添加字符串(默认在右边添加)
语法:str_pad(string,length,pad_string,pad_type)
参数 | 描述 |
---|---|
string | 必需。规定要填充的字符串。 |
length | 必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。 |
pad_string | 可选。规定供填充使用的字符串。默认是空白。 |
pad_type | 可选。规定填充字符串的哪边。 可能的值: STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。 STR_PAD_LEFT - 填充字符串的左侧。 STR_PAD_RIGHT - 填充字符串的右侧。默认。 |
eg:
$str="hello"; echo str_pad($str,10,"@")."<br>"; //默认从右边补充 echo str_pad($str,10,"@",STR_PAD_BOTH)."<br>"; //两边补充 echo str_pad($str,10,"@",STR_PAD_LEFT)."<br>";//从左边补充 $str = "Hello World"; echo str_pad($str,30,".",STR_PAD_LEFT); //...................Hello World
8.截取字符串
substr() :函数是截取指定字符串中指定长度的字符。语法格式:
string substr(string, start, length)
string必需。规定要返回其中一部分的字符串。
start必需。规定在字符串的何处开始。
正数 - 在字符串的 指定位置开始
负数 - 在从字符串 结尾开始的指定位置开始
0 - 在字符串中的 第一个字符处开始(默认是从0开始计算的,第一个字符的位置表示0)
length可选。规定被返回字符串的长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回的长度
负数 - 从字符串末端返回的长度
eg:
echo substr("She is a well-read girl",0); //从第6个字符开始截取 echo "<br>"; echo substr("She is a well-read girl",4,14); //从第4个字符开始连续截取14个字符 echo "<br>"; echo substr("She is a well-read girl",-4,4); //从倒数第4个开始截取4个字符 echo "<br>"; echo substr("She is a well-read girl",0,-4); //从第一个字符开始截取,截取到倒数第4个字符
输出:She is a well-read girl
is a well-read
girl
She is a well-read
如果截取的字符串个数是奇数,会导致截取的中文字符串乱码,因为一个中文字符有两个字节。所以需要应用substr()编写一个自定义函数。
mb_substr(), mb_subcut():获取部分字符串
string mb_substr(string, start, length, encoding)
string mb_strcut (string, start, length, encoding)
str:从该 string 中提取子字符串。
start:str 中要使用的第一个字符的位置。
length:str 中要使用的最大字符数。 If omitted or NULL is passed, extract all characters to the end of the string.
encoding:encoding 参数为字符编码。如果省略,则使用内部字符编码。
mb_substr是按字符分割,而mb_strcut是按字节来分割,但是都不会产生半个字符的现象。
以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini中把php_mbstring.dll打开。
echo mb_substr('我们都是好孩子hehe',0,9); //返回 我们都 echo mb_substr('我们都是好孩子hehe',0,9,'utf-8'); //返回 我们都是好孩子he
9.替换字符串
在php中字符替换函数有几个如有:str_replace、substr_replace、preg_replace、preg_split、等函数。其中preg_replace、preg_split是正则表达式的搜索和替换,后面会讲解。
str_replace(find,replace,string,count):使用新的字符串(子串)替换原始字符串中被指定要替换的字符串
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count可选。一个变量,对替换数进行计数,获取执行替换的次数。
该函数必须遵循下列规则:
1.如果搜索的字符串是一个数组,那么它将返回一个数组。
2.如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
3.如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
4.如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。
eg:
echo str_replace("world","Shanghai","Hello world!"); //Hello Shanghai! $arr = array("blue","red","green","yellow"); print_r(str_replace("red","pink",$arr,$i)); echo "替换数:$i"; //Array ( [0] => blue [1] => pink [2] => green [3] => yellow ) 替换数:1 $find = array("Hello","world"); $replace = array("B"); $arr = array("Hello","world","!"); print_r(str_replace($find,$replace,$arr)); //Array ( [0] => B [1] => [2] => ! )
str_ireplace(find,replace,string,count):用法同上,不区分大小写而已
strtr(): 函数转换字符串中特定的字符。
语法:strtr(string,from,to)
或者:strtr(string,array)
参数:
string必需。规定要转换的字符串。
from必需(除非使用数组)。规定要改变的字符。
to必需(除非使用数组)。规定要改变为的字符。
array必需(除非使用 from 和 to)。数组,其中的键名是更改的原始字符,键值是更改的目标字符。
注释:如果 from 和 to 参数的长度不同,则会被格式化为最短的长度。
$arr = array("Hello" => "Hi", "world" => "earth"); echo strtr("Hello world",$arr); //Hi earth echo strtr("Hilla Warld","ia","eo"); //Hello World
substr_replace(): 函数把字符串的一部分替换为另一个字符串。
substr_replace(string,replacement,start,length)
string必需。规定要检查的字符串。
replacement必需。规定要插入的字符串。
start必需。规定在字符串的何处开始替换。
正数 - 在字符串中的指定位置开始替换
负数 - 在从字符串结尾的指定位置开始替换
0 - 在字符串中的第一个字符处开始替换
length
可选。规定要替换多少个字符。默认是与字符串长度相同。
正数 - 被替换的字符串长度
负数 - 表示待替换的子字符串结尾处距离 string 末端的字符个数。
0 - 插入而非替换
注释:如果 start 参数是负数且 length 小于或者等于 start,则 length 为 0。
eg:
echo substr_replace("Hello","world",0); //world echo substr_replace("Hello world","Shanghai",6); //Hello Shanghai echo substr_replace("world","Hello ",0,0); //Hello world $replace = array("1: AAA","2: AAA","3: AAA"); echo implode("<br>",substr_replace($replace,'BBB',3,3)); //1: BBB 2: BBB 3: BBB
使用条件:知道要替换的字符串的名称用str_replace()函数替换;只知道要替换的字符串的位置和长度用substr_replace()函数
10.分割成数组函数
str_split(): 函数把字符串分割到数组中。
str_split(string,length)
string必需。规定要分割的字符串。
length可选。规定每个数组元素的长度。默认是 1。
eg:
print_r(str_split("Shanghai")); //Array ( [0] => S [1] => h [2] => a [3] => n [4] => g [5] => h [6] => a [7] => i ) print_r(str_split("Shanghai",3)); //Array ( [0] => Sha [1] => ngh [2] => ai )
array split ( string $pattern, string $string [, int $limit] :用正则表达将字符串分隔成数组,参考网址:http://www.php.net/split
explode(): 函数把字符串打散为数组。
语法: explode(separator,string,limit)
separator 必需。规定在哪里分割字符串。
string必需。要分割的字符串。
limit可选。规定所返回的数组元素的数目。
可能的值: 大于 0 - 返回包含最多 limit 个元素的数组
小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
0 - 返回包含一个元素的数组
eg:
$str = 'one,two,three,four';// 零 limit print_r(explode(',',$str,0));// 正的 limit //Array ( [0] => one,two,three,four ) print_r(explode(',',$str,2));// 负的 limit //Array ( [0] => one [1] => two,three,four ) print_r(explode(',',$str,-1)); //Array ( [0] => one [1] => two [2] => three )
11.连接字符串
连接字符串用“.”(点)字符串连接,可以把两个或两个以上的字符串连接成一个字符串。这里不能用“+”运算符。有两种形式:
第一种是“.”;第二种是赋值运算符”.=”
$str1=’abc’; $str2=’1234’; $str=$str1. $str2; //输出 $str=’abc1234’ $str.=”efg”; //输出 $str=’abcefg’
implode(): 函数返回由数组元素组合成的字符串。
implode(separator,array)
separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array必需。要组合为字符串的数组。
返回值:返回由数组元素组合成的字符串。
implode() 函数接受两种参数顺序。但是由于历史原因,explode() 是不行的,您必须保证 separator 参数在 string 参数之前才行。
implode() 函数的 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。
eg:
$arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ",$arr)."<br>"; //Hello World! I love Shanghai! echo implode("+",$arr)."<br>"; //Hello+World!+I+love+Shanghai! echo implode("-",$arr)."<br>"; //Hello-World!-I-love-Shanghai! echo implode("X",$arr); //HelloXWorld!XIXloveXShanghai!
implode() 函数有个别名函数join
12.去除 空格
ltrim():函数移除字符串左侧的空白字符或其他预定义字符。(默认去掉空格)
语法:ltrim(string,charlist);
string必需。规定要检查的字符串。
charlist 可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:
"\0" - NULL;"\t" - 制表符;"\n" - 换行;"\x0B" - 垂直制表符;"\r" - 回车;" " - 空格
rtrim():函数移除字符串右侧的空白字符或其他预定义字符。
trim():函数移除字符串两侧的空白字符或其他预定义字符。
$str=" abc "; echo strlen($str)."<br>"; echo strlen(ltrim($str))."<br>"; echo strlen(rtrim($str))."<br>"; echo strlen(trim($str))."<br>"; $str1="123This is Test"; echo ltrim($str1,'1')."<br>"; //第二个参数指定要删除的字符(串) //23This is Test echo ltrim($str1,'0..9')."<br>"; //删除所有的数字 0..9表示范围 //This is Test
13.加空格或指定字符函数
chunk_split(): 函数把字符串分割为一连串更小的部分。
chunk_split(string,length,end)
string必需。规定要分割的字符串。
length可选。数字值,定义字符串块的长度。默认是 76。
end可选。字符串值,定义在每个字符串块末端放置的内容。默认是 \r\n。
注释:该函数不改变原始字符串。
$str = "Hello world!"; echo chunk_split($str,6,"..."); //Hello ...world!...
14.返回指定的字符或ascii
chr() 函数从指定的 ASCII 值返回字符。
ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定义为带前置 0,而十六进制值被定义为带前置 0x。
echo chr(61) . "<br>"; // 十进制 //= echo chr(061) . "<br>"; // 八进制值 //1 echo chr(0x61) . "<br>"; // 十六进制值 //a
ord() 函数返回字符串的首个字符的 ASCII 值。
15.转义、还原字符串 (\)
· 手动转义、还原字符串:”\” (反斜杠)
紧跟在 \ 后面的第一个字符将变得没有意义。如“’”是字符串的界定符,写成“\’”会变成普通的单引号输出。而转义符\不会输出。
如: echo “I\’m” //输出 I’m
· 自动转义、还原字符串: addslashes()函数和stripslashes()函数
addslashes()用来为字符串str加入反斜杠“\”,语法格式:
string addslashes(string str)
stripslashes()用来将使用addslashes()函数转义后的字符串str返回原样,语法格式:
string addslashes(string str)
例:
$str = "select * from tb_book where bookname = 'PHP5从入门到精通'"; $a = addslashes($str); //对字符串中的特殊字符进行转义 echo $a."<br>"; //输出转义后的字符 $b = stripslashes($a);//对转义后的字符进行还原 echo $b."<br>"; //将字符原义输出
输出:select * from tb_book where bookname = \'PHP5从入门到精通\'
select * from tb_book where bookname = 'PHP5从入门到精通'
所有数据在插入数据库之前,有必要应用addslashes()函数进行字符串转义,以免出现特殊字符导致错误。
除了上面介绍的方法外,还可以对要转义、还原的字符串进行一定范围限制。PHP通过使用addcslashes()和stripcslashes()实现对指定范围字符串进行转义,还原。
addcslashes() 给指定的字符串charlist前加上反斜杠“\”。语法:
string addcslashes(string str, string charlist)
stripcslashes()用来将使用addcslashes()函数转义后的字符串str返回原样,语法格式:
string addcslashes(string str)
例:
$a="编程体验网"; //对指定范围内的字符进行转义 echo $a;//输出指定的字符串 echo "<br>"; //执行换行 $b=addcslashes($a,"编程体验网"); //转义指定的字符串 echo $b;//输出转义后的字符串 echo "<br>"; //执行换行 $c=stripcslashes($b); //对转义的字符串进行还原 echo $c;
输出:编程体验网
\261\340\263\314\314\345\321\351\315\370
编程体验网
· 在设置参数charlist时,需要明确在开始和结束范围内的字符串。
· 参数charlist中包含\n,\r等字符,将以C语言风格转换,其他非字母数字且ASCII码低于32高于126的字符均转换成八进制表示。
· 在缓存文件中,一般对缓存数据值采用 addcslashes()函数进行制定范围的转义。
16.HTML代码有关函数
nl2br():使\n转换为<br>。
strip_tags($str[,'<p>'])://去除HTML和PHP标记
htmlspecialchars($str[,参数])://页面正常输出HTML代码参数是转换方式
预定义的字符是:& (和号)成为 &
""(双引号)成为 "
''(单引号)成为 '
< (小于)成为 <
> (大于)成为 >
stripslashes(): 函数删除由 addslashes() 函数添加的反斜杠。
addslashes(): 函数在指定的预定义字符前添加反斜杠。
这些预定义字符是:单引号 (')双引号 (")反斜杠 (\)NULLstrip_tags();函数剥去 HTML、XML 以及 PHP 的标签。
eg:
echo $_GET["str"]."<br>";//函数把字符转换为 HTML 实体。 echo htmlentities($_GET["str"],ENT_NOQUOTES)."<br>";//函数把一些预定义的字符转换为 HTML 实体。 echo htmlspecialchars($_GET["str"])."<br>";//去掉由addslashes()函数加的 \ echo stripslashes($_GET["str"])."<br>";//结合使用 echo htmlentities(stripslashes($_GET["str"]))."<br>";// 函数剥去 HTML、XML 以及 PHP 的标签。 echo strip_tags($_GET["str"])."<br>";
17.字符大小写转换函数
strtolower($str) 字符串转换为小写
strtoupper($str) 字符串转换为大写
ucfirst($str) 将函数的第一个字符转换为大写
ucwords($str) 将每个单词的首字母转换为大写
eg:
$str="My name is TOM!"; echo strtoupper($str)."<br>"; //MY NAME IS TOM! echo strtolower($str)."<br>"; //my name is tom! echo ucfirst($str)."<br>"; //My name is TOM! echo ucwords($str)."<br>"; //My Name Is TOM!
18.数据库相关函数
addslashes($str):使str内单引号(')、双引号(")、反斜线(\)与 NUL字符串转换为\',\",\\。
magic_quotes_gpc = On 自动对 get post cookie的内容进行转义
get_magic_quotes_gpc()检测是否打开
magic_quotes_gpcstripslashes() 去除字符串中的反斜杠
更多PHP字符串函数参考:http://www.w3school.com.cn/php/php_ref_string.asp
更多PHP字符串函数请参考官网:http://php.net/manual/zh/ref.strings.php
转载请注明: ITTXX.CN--分享互联网 » php基础(七)--字符串、常见的字符串函数汇总详解
最后更新:2019-02-28 11:37:00