奥门新浦京官方网站PHP字符串函数大汇总

我们大家知道无论哪种编程语言,字符串操作都是一个重要的基础,往往是简单而重要。PHP给我们提供了大量的字符串操作函数,功能强大,使用也比较简单,这里为大家总结九类字符串函数。

php教程字符串操作函数入门篇
1.字符串的定义与显示
定义:通过””,”来标志
显示:echo()和print(),但print()具有返回值值,1,而echo()没有,但echo比print()要快,print()能用在复合语句中。
2.字符串的格式化
printf(string $format[,mixed$args])
第一参数是格式字符串,$args是要替换进来的值,prinf(“%d”,$num);
说明,如果想打印一个”%”,必须用”%”,浮点数f,八进制用”0”
3.常用的字符串函数
1.计算字符串的长度
strlen(string
$string),说明,1个英文长度1个字符,1个汉字长度为2个字符,空格也算一个字符。
2.将字符串改变大小写
转为小写:strtolower()
转为大写:strtoupper()
将第一个字符大写: ucfirst()
将每个单词的第一个字母大写 ucwords()
3.字符串裁剪。
当一个字符串的首尾有多余的空白字符,如空格、制表符等可以用
string trim(string $str[,string $charlist])
string rtrim(string $str[sring $charlist])
string itrim(string $str[,string $charlist])
表4.1 trim、itrim、rtrim函数的默认删除字符
字 符
 ASCII码
 意 义
 
” “
 32(0x20)
 空格
 
“t”
 9(0x09)
 制表符
 
“n”
 10(0x)
 换行
 
“r”
 13(0x0D)
 回车
 
“”
 0(0x00)
 空字节
 
“x0B”
 11(0x0B)
 垂直制表符
 

字符串的概念:

1. 查找字符位置函数

strpos($str,search,[int]):   查找search在$str中的第一次位置从int开始

stripos($str,search,[int]):  函数返回字符串在另一个字符串中第一次出现的位置

strrpos($str,search,[int]):  查找search在$str中的最后一次出现的位置从int

4.字符串的查找
string strstr(string $a, string $b)
说明:strstr()函数用于查找字符串指针$b在字符串$a中出现的位置,
并返回$a字符串中从$b开始到$a字符串结束处的字符串。
如果没有返回值,即没有发现$b,则返回FALSE。strstr()函数还有一个同名函数strchr()。
5.字符串与ASCII码
4.字符串的比较
比较函数有
strcmp() //区分大小写
strcasecmp()//不区分大小写
strncmp() //比较部分
strncasecmp()//不区分大小写,比较部分
5.字符串的替换
str_replace(search,replace,subject)
说明使用新的字符串replace替换字符串subject中的search字符串
<?php
$str=”I love you”;
$replace=”lucy”;
$end=str_replace(“you”,$replace,$str);
echo $end; //输出”I love lucy”
?>
对大小写敏感,还可实现多对一、多对多的替换,但无法实现一对多的替换。
<?php
$str=”What Is Your Name”;
$array=array(“a”,”o”,”A”,”O”,”e”);
echo str_replace($array, “”,$str); //多对一的替换,输出”Wht Is Yur
Nm”
$array1=array(“a”,”b”,”c”);
$array2=array(“d”,”e”,”f”);
echo str_replace($array1,$array2, “abcdef”);
//多对多的替换,输出”defdef”
?>
substr_replace
替换字符串的一部分。
6.字符串与HTML

7.其它字符串函数
1.字符串与数组
a.字符串转化为数组
explode()函数可以用指定的字符串分割另一个字符串,并返回一个数组
<?php
$str=”使用 空格 分割 字符串”;
array=explode(” “, $str);
pint_r($array);
输出Array ( [0] => 使用 [1] => 空格 [2] => 分割 [3]奥门新浦京官方网站,
=> 字符串 )
?>
b.数组转化为字符串
implode(string $glue,array $pieces)
$pieces是保存要连接的字符串的数组,$glue是用于连接字符串的连接符。例如:
<?php
$array=array(“hello”,”how”,”are”,”you”);
$str=implode(“,”,$array); //使用逗号作为连接符
echo $str; //输出”hello,how,are,you”
?>
c.字符串的加密函数
md5(); crypt(),但这个函数一旦加密后就无法转化为原来的形式。
4.3实例留言薄内容处理
一个留言簿,留言簿上有Email地址和用户的留言,提取客户的Email地址和留言,要求Email地址中@符号前不能有点“.”或逗号“,”。
将Email地址中@符号前的内容作为用户的用户名,并将用户留言中第一人称“我”修改为“本人”。
复制代码 代码如下:
<form name=”f1″ method=”post” action=””>
<font face=”方正舒体”
size=4>您的Email地址:</font><br>
<input type=”text” name=”Email” size=31><br>
<font face=”方正舒体” size=4>您的留言:</font><br>
<textarea name=”note”
rows=10 cols=30></textarea>
<br><input type=”submit” name=”bt1″ value=”提交”>
<input type=”reset” name=”bt2″ value=”清空”>
</form>
<!–以上是留言簿表单–>
<?php
if(isset($_POST[‘bt1’]))
{
$Email=$_POST[‘Email’]; //接收Eamil地址
$note=$_POST[‘note’]; //接收留言
if(!$Email||!$note) //判断是否取得值
echo
“<script>alert(‘Email地址和留言请填写完整!’)</script>”;
else
{
$array=explode(“@”, $Email); //分割Email地址
if(count($array)!=2) //如果有两个@符号则报错
echo “<script>alert(‘Email地址格式错误!’)</script>”;
else
{
$username=$array[0]; //取得@符号前的内容
$netname=$array[1]; //取得@符号后的内容
//如果username中含有“.”或“,”则报错
if(strstr($username,”.”) or strstr($username,”,”))
echo “<script>alert(‘Email地址格式错误!’)</script>”;
else
{
$str1= htmlspecialchars(“<“); //输出符号“<”
$str2= htmlspecialchars(“>”); //输出符号“>”
//将留言中的“我”用“本人”替代
$newnote=str_replace(“我”,”本人”,$note);
echo “<font face=’黑体’ size=4>”;
echo “用户”. $str1. $username . $str2. “您好! “;
echo “您是”. $netname. “网友!<br>”;
echo “<br>您的留言是:<br> “.$newnote.”<br>”;
echo “</font>”;
}
}
}
}
?>

一个字符串string就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着
PHP 只能支持 256 的字符集,因此不支持 Unicode 。String最大可以达到2G;

2. 提取子字符函数(双字节)

submit($str,int start[,int length]):  从$str中strat位置开始提取[length长度的字符串]。

strstr($str1,$str2):   从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。

stristr()    功能同strstr,只是不区分大小写。

strrchr()    从最后一次搜索到的字符处返回;用处:取路径中文件名

函数原型:array explode(string separator,string input);

语法:

3. 替换字符串的PHP字符串函数

str_replace(search,replace,$str):    从$str中查找search用replace来替换

str_irreplace(search,replace,$str):

strtr($str,search,replace):   这个函数中replace不能为””;

substr_replace($Str,$rep,$start[,length])  $str原始字符串,$rep替换后的新字符串,$start起始位置,$length替换的长度,该项可选

  explode函数应用非常广泛,其主要作用是对规定的字符串以设定的分隔符进行拆分,并以数组形式返回。其常使用在分割文件名以判断文件类型、切割用户Email等场合。

单引号/双引号/heredoc/newdoc 抛开效率问题这些都一样

4. 字符长度

int strlen($str)

  PHP字符串分割函数explode处理实例

字符串输出:

5. 比较字符函数

int strcmp($str1,$str2):     $str1>=<$str2分别为正1,0,-1(字符串比较)

strcasecmp()         同上(不分大小写)

strnatcmp(“4″,”14″)     按自然排序比较字符串

strnatcasecmp()       同上,(区分大小写)

  1、获取文件扩展名
   
$fileName =
“leaps教程oulcn.jpg”;
$str = explode(“.”,$fileName);
print_r($str);

echo():输出一个或多个字符串

6. 分割成数组的PHP字符串函数

str_split($str,len):      把$str按len长度进行分割返回数组

split(search,$str[,int]):     把$str按search字符进行分割返回数组int是分割几次,后面的将不分割

expload(search,$str[,int])

我们知道在PHP文件上传功能中,判断上传文件名是否合法的最基本方法是判断扩展名是否合法,这时候就需要使用PHP字符串函数explode对文件名进行分割处理。在上述代码中explode函数以.为分隔符,对文件名进行分割。输入结果如下
   
Array ( [0] => leapsoulcn [1] => jpg )

print():输出一个字符串

7. 去除空格

ltrim、rtrim、trim

2、获取用户Email域名信息
 
$emailInfo = explode(“@”,$email);

printf():输出格式化字符串 //// echo ‘<pre>’ 也能达到格式化的效果

8. HTML代码有关函数

nl2br():     使n转换为

strip_tags($str[,”]):    去除HTML和PHP标记.在$str中所有HTML和PHP代码将被去除,可选参数为html和PHP代码作用是将保留

如:echo strip_tags($text, ”);

htmlspecialchars($str[,参数]):页面正常输出HTML代码参数是转换方式

手册

字符串去除

9. 字符大小写转换的PHP字符串函数

strtolower($str):    字符串转换为小写

strtoupper($str):     字符串转换为大写

ucfirst($str):    将函数的第一个字符转换为大写

ucwords($str):    将每个单词的首字母转换为大写

AddSlashes: 字符串加入斜线。
bin2hex: 二进位转成十六进位。
Chop: 去除连续空白。
Chr: 返回序数值的字符。
chunk_split: 将字符串分成小段。
convert_cyr_string: 转换古斯拉夫字符串成其它字符串。
crypt: 将字符串用 DES 编码加密。
echo: 输出字符串。
explode: 切开字符串。
flush: 清出输出缓冲区。
get_meta_tags: 抽出文件所有 meta 标记的资料。
htmlspecialchars: 将特殊字符转成 HTML 格式。
htmlentities: 将所有的字符都转成 HTML 字符串。
implode: 将数组变成字符串。
join: 将数组变成字符串。
ltrim: 去除连续空白。
md5: 计算字符串的 MD5 哈稀。
nl2br: 将换行字符转成 <br>。
Ord: 返回字符的序数值。
parse_str: 解析 query 字符串成变量。
print: 输出字符串。
printf: 输出格式化字符串。
quoted_printable_decode: 将 qp 编码字符串转成 8 位字符串。
QuoteMeta: 加入引用符号。
rawurldecode: 从 URL 专用格式字符串还原成普通字符串。
rawurlencode: 将字符串编码成 URL 专用格式。
setlocale: 配置地域化信息。
similar_text: 计算字符串相似度。
soundex: 计算字符串的读音值
sprintf: 将字符串格式化。
strchr: 寻找第一个出现的字符。
strcmp: 字符串比较。
strcspn: 不同字符串的长度。
strip_tags: 去掉 HTML 及 PHP 的标记。
StripSlashes: 去掉反斜线字符。
strlen: 取得字符串长度。
strrpos: 寻找字符串中某字符最后出现处。
strpos: 寻找字符串中某字符最先出现处。
strrchr: 取得某字符最后出现处起的字符串。
strrev: 颠倒字符串。
strspn: 找出某字符串落在另一字符串遮罩的数目。
strstr: 返回字符串中某字符串开始处至结束的字符串。
strtok: 切开字符串。
strtolower: 字符串全转为小写。
strtoupper: 字符串全转为大写。
str_replace: 字符串取代。
strtr: 转换某些字符。
substr: 取部份字符串。
trim: 截去字符串首尾的空格。
ucfirst: 将字符串第一个字符改大写。
ucwords: 将字符串每个字第一个字母改大写。

trim():去除字符串 首尾 空白等特殊符号或指定字符序列

附:

PHP字符串函数库,收集了51个PHP处理字符串的函数。包括计算字符串长度、分割字符串、查找字符串等等各个方面。

AddSlashes:                 字符串加入斜线。
bin2hex:                    二进位转成十六进位。
Chop:                       去除连续空白。
Chr:                        返回序数值的字符。
chunk_split:                将字符串分成小段。
convert_cyr_string:         转换成其它字符串。
crypt:                      将字符串用 DES 编码加密。
echo:                       输出字符串。
explode:                    切开字符串。
flush:                      清出输出缓冲区。
get_meta_tags:              抽出文件所有 meta 标记的资料。
htmlspecialchars:           将特殊字符转成 HTML 格式。
htmlentities:               将所有的字符都转成 HTML 字符串。
implode:                    将数组变成字符串。
join:                       将数组变成字符串。
ltrim:                      去除连续空白。
md5:                        计算字符串的 MD5 哈稀。
nl2br:                      将换行字符转成。
Ord:                        返回字符的序数值。
parse_str:                  解析 query 字符串成变量。
print:                      输出字符串。
printf:                     输出格式化字符串。
quoted_printable_decode     将 qp 编码字符串转成 8 位字符串。
QuoteMeta:                  加入引用符号。
rawurldecode:               从 URL 专用格式字符串还原成普通字符串。
rawurlencode:               将字符串编码成 URL 专用格式。
setlocale:                  配置地域化信息。
similar_text:               计算字符串相似度。
soundex:                    计算字符串的读音值
sprintf:                    将字符串格式化。
strchr:                     寻找第一个出现的字符。
strcmp:                     字符串比较。
strcspn:                    不同字符串的长度。
strip_tags:                 去掉 HTML 及 PHP 的标记。
StripSlashes:               去掉反斜线字符。
strlen:                     取得字符串长度。
strrpos:                    寻找字符串中某字符最后出现处。
strpos:                     寻找字符串中某字符最先出现处。
strrchr:                    取得某字符最后出现处起的字符串。
strrev:                     颠倒字符串。
strspn:                     找出某字符串落在另一字符串遮罩的数目。
strstr:                     返回字符串中某字符串开始处至结束的字符串。
strtok:                     切开字符串。
strtolower:                 字符串全转为小写。
strtoupper:                 字符串全转为大写。
str_replace:                字符串取代。
strtr:                      转换某些字符。
substr:                     取部份字符串。
trim:                       截去字符串首尾的空格。
ucfirst:                    将字符串第一个字符改大写。
ucwords:                    将字符串每个字第一个字母改大写。

ltrim():去除字符串 首 空白等特殊符号或指定字符序列

rtrim():去除字符串 尾 空白等特殊符号或指定字符序列

chop():同 rtrim()

以上函数第二个参数都可以指定删除的字符

字符串连接

implode():使用字符将数组的内容组合成一个字符串

join():同 implode()

字符串分割

explode():使用一个字符串分割另一个字符串

str_split():将字符串分割到数组中

chunk_split():将字符串分割成小块

与implode不同的是explode只支持一种参数顺序,也可以对explode指定截取大小与str_split不同的是大于指定的截取范围的字符都会归属到最后的数组中

字符串获取

substr():从字符串中获取其中的一部分

strstr():查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符

subchr():同 strstr()

strtok(string str,string tokens):返回直到遇到tokens之前的所有内容

strstr函数区分大小写 如果想不区分就要使用stristr函数了

strrchr():查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符

strrchr函数如果查找多个字符那么只能按照第一个查找
如果查找的不是字符串将会被转成int类型查找

字符串替换

substr_replace():把字符串的一部分替换为另一个字符串

str_replace():使用一个字符串替换字符串中的另一些字符

str():转换指定字符

字符串计算

strlen():取得字符串的长度

mt_strlen():指定字符集

strpos():定位字符串第一次出现的位置

strrpos():定位字符串最后一次出现的位置

count_chars(string str[,mode]):字符串中字符计数

str_word_count(string str[,int format]):字符串中单词总数计数

字符串 XHTML 格式化显示

nl2br():将换行符 n 转换成 XHTML 换行符

htmlspecialchars():把一些特殊字符转换为 HTML 实体

htmlspecialchars_decode():把一些 HTML
实体转换为特殊字符,htmlspecialchars() 的反函数

字符串存储

addslashes():对特殊字符加上转义字符。

stripslashes():addslashes() 的反函数。

加密:

md5():以 32 字符十六进制数字形式返回散列值

md5_file():成功返回字符串,否则返回false

sha1():返回 sha1 散列值字符串

sha1_file():成功返回字符串,否则返回false

处理字符串大小写:

strtolower(string str):将字符串全部转换为小写

strtoupper(string str):将字符串全部转化为大写

ucfirst(string str):将字符串第一个字符大写

ucwords(string str):把字符串中每个单词的首字符转换为大写

发表评论

电子邮件地址不会被公开。 必填项已用*标注