欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。

教程  php基础(七)--字符串、常见的字符串函数汇总详解

PHP学习 本站 1095 0评论

字符串介绍


字符串是由零个或多个字符组成的有限序列,字符包括以下几种类型:

数字类型,如: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

赞 (3) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽