编程语言
C#编程语言基础
C#面向对象与多线程
C#数据及文件操作
JavaScript基础
JavaScript的数据类型和变量
JavaScript的运算符和表达式
JavaScript的基本流程控制
JavaScript的函数
JavaScript对象编程
JavaScript内置对象和方法
JavaScript的浏览器对象和方法
JavaScript访问HTML DOM对象
JavaScript事件驱动编程
JavaScript与CSS样式表
Ajax与PHP
ECMAScript6的新特性
Vue.js前端开发
PHP的常量与变量
PHP的数据类型与转换
PHP的运算符和优先规则
PHP程序的流程控制语句
PHP的数组操作及函数
PHP的字符串处理与函数
PHP自定义函数
PHP的常用系统函数
PHP的图像处理函数
PHP类编程
PHP的DataTime类
PHP处理XML和JSON
PHP的正则表达式
PHP文件和目录处理
PHP表单处理
PHP处理Cookie和Session
PHP文件上传和下载
PHP加密技术
PHP的Socket编程
PHP国际化编码
MySQL数据库基础
MySQL数据库函数
MySQL数据库账户管理
MySQL数据库基本操作
MySQL数据查询
MySQL存储过程和存储函数
MySQL事务处理和触发器
PHP操作MySQL数据库
数据库抽象层PDO
Smarty模板
ThinkPHP框架
Python语言基础
Python语言结构与控制
Python的函数和模块
Python的复合数据类型
Python面向对象编程
Python的文件操作
Python的异常处理
Python的绘图模块
Python的NumPy模块
Python的SciPy模块
Python的SymPy模块
Python的数据处理
Python操作数据库
Python网络编程
Python图像处理
Python机器学习
TensorFlow深度学习
Tensorflow常用函数
TensorFlow用于卷积网络
生成对抗网络GAN
经常需要在PHP中程序中处理大量文字,文字被保存为字符串。字符串又称字符数组,是PHP中非常重要的数组类型之一。
1.创建字符串:
1)字符串与数组的转换:
PHP中的字符串其实是由若干字符组成的集合,包含的字符串可以是大写字母、小写字母、汉字、数字以及*、#等特殊符号。PHP对字符串的长度没有限制,因为字符串长度的限制只与运行PHP程序的计算机内存大小有关,与PHP本身无关。
由于字符串的每个字符都是连续的,所以也可以把字符串作为数组来处理。示例:
<?php
$str="PHP is very simple";
echo $str[0]; //输出$str[0]的第1个字符,结果为P
echo $str[7]; //输出$str[0]的第8个字符,结果为V
?>
这里使用中括号表示字符串的数组形式输出,但可能会和数组产生二义性,因为数组也使用中括号。因此,PHP建议使用大括号{}代替这里的中括号[],以消除语法上的二义性。
2)双引号创建:
定义一个字符串最简单的方法是用双引号(")把它括起来。这种方式定义的字符串,PHP会对其中的特殊字符(像双引号、反斜线、美元符号)进行解析,另外,如果有变量也会先执行,再使用值输出。示例:
echo "\"She is a pretty girl\", he said."; //输出:"She is a pretty girl", he said.
$city="安阳";
echo "$city是一个古老的城市"; //输出:安阳 是一个古老的城市
3)单引号创建:
还可以使用单引号创建一个字符串,即使用单引号(')把字符串括起来。这种方式定义的字符串,在输出一个单引号时需在它的前面加个反斜线(\),如果在单引号前或在字符串的结尾处想要输出反斜线,输入两个反斜线(\),而在其他任何字符前加反斜线时反斜线将会被直接输出。示例:
echo 'Let\'s say that it\'s true.'; //输出:Let's say that it's true.
echo ' "She is a pretty girl", he said.'; //输出:"She is a pretty girl", he said.
$city=”安阳”;
echo "$city是一个古老的城市"; //$city是一个古老的城市
单引号中的变量不会解析和运行。
4)定界符创建:
定界符适用于创建多行字符串,它需要在字符串前添加定界符前缀“<<<”,后跟一个定界符标识符;接下来在新行中定义字符串的内容,可以使用双引号、单引号、特殊字符和变量;最后使用定界符作为字符串的结束标志。示例:
<?php
echo <<<WEL
欢迎光临快餐店
今日优惠菜单:
麻婆豆腐、剁椒鱼头、鱼香肉丝;
?>
<?php
echo <<<my
"i am a Chinese", she said. //双引号和单引号都不需要转义
and what's your name?
my; //定界符标识符为my
?>
上述代码使用WEL作为字符串的定界标识符。使用时要注意,定界标识符在结束时必须在一行的开始位置,而且命名也要遵循一定的规则:只能包含字母、数字和下划线,并且不能用数字和下划线作为开头。示例2:
<?php
$price=39.0;
echo <<<Product
你购买商品的售价为:$price //变量会被执行,否则就要前面加斜线\
Product;
?>
2.统计字符串:
对字符串进行统计操作是最简单,也是最常用的。
1)统计字符串长度:
PHP的strlen()函数用于统计字符串长度。语法格式:
int strlen (string $string)
该函数返回值为整数,表示字符串$tring的长度。如果返回值为0表示该字符串为空。示例:
$result=strlen($pass);
注意:一个字符串中的空格同样也被计算在内。
2)统计字符出现频率:
使用函数count_chars()可以统计一个字符串的字符出现频率。语法格式:
mixed count_chars (string $string[, int $mode])
其中,$mode是可选参数,用于指定不同的计数模式,其默认值为0,可选值如下:
·0:返回一个关联数组,由所有字符作为键,该字符在原字符串中出现的次数作为值
·1:与0相同,但只返回出现次数大于零的字符
·2:与0相同,但只返回出现次数等于零的字符
·3:返回一个字符串,其中包含原字符串中能找到的所有字符,每个字符只显示一次。
·4:返回一个字符串,其中包含原字符串中未使用的所有字符。
示例:
$result=count_chars($words, 1);
3)统计单词数量:
函数count_chars()用于统计一个字符串的单词数。语法格式:
mixed str_word_count (string $string[, int $format=0[, string $charlist]])
其中,$format是可选参数,用于指定计数形式,其默认值为0,可选值如下:
·0:返回字符串中单词的总数
·1:返回由字符串中所有单词组成的数组
·2:返回一个关联数组,其中单词的所在位置为键,单词本身为值
$charlist参数可以指定附加的字符串列表,其中的字符将被视为单词的一部分。
示例:
$result=str_word_count ($words, 1, '25'); //将25也作为一个单词
字符串处理函数:
函数 |
描述 |
addcslashes() |
以C语言风格使用反斜线转义字符串中的字符 |
addslashes() |
在指定的预定字符前添加反斜线转义 |
bin2hex() |
把二进制转换为十六进制值 |
chop() |
rtrim()函数的别名 |
chr() |
返回相对应于ASCII代码点所指定的单个字符 |
chuck_split() |
把字符串分割为一连串更小的部分 |
convert_cry_string() |
把字符由一种Cyrillic字符转换成另一种 |
convert_uudecode() |
对uuencode编码的字符串进行解码 |
convert_uuencode() |
使用uuencode算法对字符串进行编码 |
count_chars() |
返回字符串所用字符的信息 |
crc32() |
计算一个字符串的32位CRC值 |
crypt() |
对字符串加密,这是单向的,不可逆的 |
echo() |
输出一个或多个字符串 |
explode() |
把字符串拆分为数组 |
fprintf() |
把格式化的字符串写到指定的输出流 |
get_html_translation_table() |
返回htmlspecialchars()和htmlentities()函数所使用的转换表 |
hebrev() |
把希伯来文本从右至左的流转换为左至右的流 |
hebrevc() |
同hebrev()函数,同时把\n转为<br/> |
html_entity_decode() |
把HTML实体转换为字符 |
htmlentities() |
把字符转换为HTML实体 |
htmlspecialchars_decode() |
把一些预定义的HTML实体转换为字符 |
htmlspecialchars() |
把一些预定义的字符转换为HTML实体 |
implode() |
把数组元素组合为一个字符串 |
join() |
implode()函数的别名 |
lcfirst() |
转换字符串第一个字符为小写 |
levenshtein() |
返回两个字符串之间的Levenshtein距离,这是一个字符串相似算法 |
localeconv() |
返回包含区域化数字及货币信息格式的数组 |
ltrim() |
从字符串左侧删除空白或其他预定义字符 |
md5_file() |
计算文件的MD5哈希 |
md5() |
计算字符串的MD5哈希 |
metaphone() |
计算字符串的metaphone键 |
money_format() |
把字符串格式化为货币格式的字符串 |
nl_langinfo() |
返回指定的区域化信息 |
nl2br() |
在字符串中的每个新行之前插入HTML换行符 |
number_format() |
通过千位分组来格式化数字 |
ord() |
返回字符串第一个字符的ASCII代码点 |
parse_str() |
把查询字符串解析到变量中 |
print() |
输出一个字符串 |
printf() |
输出一个格式化字符串 |
quoted_printable_decode() |
解码quoted-printable字符串为8位字符串 |
quoted_printable_encode() |
转换8位字符串为quoted-printable字符串 |
quotemeta() |
在字符串中某些预定义的字符前添加反斜线转义 |
rtrim() |
从字符串的末端删除空白或其他预定义字符 |
setlocale() |
设置区域化信息 |
sha1_file() |
计算文件的SHA-1哈希 |
sha1() |
计算字符串的SHA-1哈希 |
similar_text() |
计算两个字符串的匹配字符的数目 |
soundex() |
计算字符串的soundex键 |
sprintf() |
把格式化的字符串写入一个变量中或者输出 |
sscanf() |
根据指定的格式解析字符串 |
str_getcsv() |
解析CSV格式的字符串为数组 |
str_ireplace() |
替换字符串中的一些字符(不区分大小写) |
str_pad() |
使用指定的字符把字符串填充为新的长度 |
str_repeat() |
把字符串重复指定的次数 |
str_replace() |
替换字符串中的一些字符(区分大小写) |
str_rot13() |
对字符串执行ROT13编码 |
str_shuffle() |
随机地打乱字符串中的所有字符 |
str_split() |
把字符串分割到数组中 |
str_word_count() |
计算字符串中的单词数 |
strcasecmp() |
比较两个字符串(不区分大小写),该函数是二进制安全的 |
strchr() |
搜索字符串在另一个字符串中的第一次出现。strstr()函数的别名 |
strcmp() |
比较两个字符串(不区分大小写),该函数是二进制安全的 |
strcoll() |
根据区域化设置比较两个字符串 |
strcspn() |
返回在找到任何指定的字符之前,在字符串中找到的字符数 |
strip_tags() |
剥去HTML、XML以及PHP的标签 |
stripcslashes() |
删除由addcslashes()函数添加的反斜线 |
stripslashes() |
删除由addslashes()函数添加的反斜线 |
stripos() |
返回字符串在另一个字符串中第一次出现的位置(不区分大小写) |
stristr() |
查找字符串在另一个字符串中第一次出现的位置(不区分大小写) |
strlen() |
返回字符串的长度 |
strnatcasecmp() |
使用一种自然排序算法来比较两个字符串(不区分大小写) |
strnatcmp() |
使用一种自然排序算法来比较两个字符串(区分大小写) |
strncasecmp() |
前n个字符的字符串比较(不区分大小写) |
strncmp() |
前n个字符的字符串比较(区分大小写) |
strpbrk() |
在字符串中搜索指定字符中的任意一个 |
strpos() |
返回字符串在另一个字符串中首次出现的位置(区分大小写) |
strrchr() |
查找字符串在另一个字符串中最后一次出现的位置 |
strrev() |
反转字符串 |
strripos() |
查找字符串在另一个字符串中最后出现的位置(不区分大小写) |
strrpos() |
查找字符串在另一个字符串中最后出现的位置(区分大小写) |
strspn() |
返回字符串中包含的特定字符的数目 |
strstr() |
搜索字符串在另一个字符串中首次出现的位置(区分大小写) |
strtok() |
把字符串分割为更小的字符串 |
strtolower() |
把字符串转换为小写 |
strtoupper() |
把字符串转换为大写 |
strtr() |
转换字符串中特定的字符 |
substr_compare() |
从指定的开始和长度比较两个字符串,该函数是二进制安全的 |
substr_count() |
计算子字符串在字符串中出现的次数 |
substr_replace() |
把字符串的一部分替换为另一个字符串 |
substr() |
返回一个子字符串 |
trim() |
从字符串的两端删除空白和其他预定义字符 |
ucfirst() |
把字符串中的首字符转换为大写 |
ucwords() |
把字符串中每个词的首字符转换为大写 |
vfprintf() |
把格式化的字符串写到指定的输出流 |
vprintf() |
把数组格式化为一个字符串输出,并将字符串长度返回 |
vsprintf() |
把数组格式化为一个字符串,并将字符串返回 |
wordwrap() |
按照指定长度对字符串进行换行处理 |
3.操作字符串内容:
1)大小写替换:
字符串的大小写替换主要可分为如下几种情况:将字符串中的所有字符都转换成大写;将字符串中的所有字符都转换成小写;将字符串的第一个字符转换成大写;将字符串中的所有单词的第一个字符都转换成大写。
①strtolower()函数:
strtolower()函数可以将字符串$tr中的所有字符全部转换成小写,对于非字母的字符不受影响。语法格式:
string strtolower (string $str)
②strtoupper()函数:
Strtoupper()函数的功能与strtolower()函数相反,可以将字符串$tr中的所有字符全部转换成大写。语法格式:
string strtoupper (string $str)
③ucfirst()函数:
ucfirst()函数可以将字符串$str中的第一个字符(如果是字母)转换成大写,而非字母的字符不受影响。语法格式:
string ucfirst (string $str)
④ucwords()函数:
ucwords()函数可以将字符串$str中每个单词的第一个字符转换成大写,而非字母的字符不受影响。语法格式:
string ucwords (string $str)
2)去除空格和特殊字符:
有时候需要把字符串中存在的空格和特殊字符去掉,包括去除字符串左侧的指定字符、去除字符串右侧的指定字符和同时去除字符串两侧的指定字符。
①去除字符串左侧的指定字符:
Ltrim()函数用于去除字符串左侧的指定字符。语法格式:
string ltrim(string $str[, string $charlist])
默认删除字符串$str左侧的特殊字符,这些字符包括:空格符、水平制表符(\t)、换行符(\n)、回车符(\r)、空值(\0)和垂直制表符(\x0b)。可选参数$charlist用于指定要删除的其他字符。示例:
$result= ltrim($str2, "/");
②去除字符串右侧的指定字符:
rtrim()函数的作用与ltrim()函数相反,用于去除字符串右侧的指定字符。语法格式:
string rtrim(string $str[, string $charlist])
各参数的含义与ltrim()函数相同。
③同时去除字符串两侧的指定字符:
trim()函数实现了ltrim()函数与rtrim()函数的结合效果,可以同时去除字符串两侧的指定字符。语法格式:
string trim(string $str[, string $charlist])
3)比较字符串:
PHP提供了4个函数进行字符串的比较。
①strcasecmp()函数:
strcasecmp()函数可以执行不区分大小写的比较。语法格式:
int strcasecmp(string $str1, string $str2)
如果$str1小于$str2,则返回小于0的值;如果$str1大于$str2,则返回大于0的值;如果$str1等于$str2,则返回0。
②strcmp()函数:
strcmp()函数实现的功能与strcasecmp()函数基本相同,不同的是它在比较时区分大小写。语法格式:
int strcmp(string $str1, string $str2)
③strncasecmp()函数:
strncasecmp()函数与strcasecmp()的功能相同,在比较时不区分大小写。不同之处在于使用strncasecmp()可以指定两个字符串比较时使用的长度(即最大比较长度)。语法格式:
int strncasecmp(string $str1, string $str2, int $len)
示例:
$result=strncasecmp( $word1, $word2, 6); //比较两字符串的前6个字符
④strncmp()函数:
strncmp()函数与strcmp()的功能相同,在比较时不区分大小写。不同之处在于使用strncmp()可以指定两个字符串比较时使用的长度(即最大比较长度)。语法格式:
int strncmp(string $str1, string $str2, int $len)
4)查找字符串:
查找(检索)字符串是指在一个字符串中查找某个子串的位置,包括第一次出现的位置、最后一次出现的位置,以及出现的总次数等。
①stripos()函数:
stripos()函数可以在字符串$str1中查找$str2第一次出现的位置。语法格式:
int stripos(string $str1, string $str2[, int $offset=0])
该函数在查找时不区分大小写,$offset可选参数用于指定查找的起始位置。如果找到则返回该位置,否则返回false。示例:
$result=stripos( $word1, "M", 4); //从第4个开始查找M的出现位置
②strrpos()函数:
strrpos()函数的功能与stripos()函数相反,它可以在字符串$str1中查找$str2最后一次出现的位置。语法格式:
int strrpos(string $str1, string $str2[, int $offset=0])
该函数在查找时区分大小写,参数与stripos()函数类似。
③strripos()函数:
strripos()函数的功能与strrpos()函数基本相同,不同的是它在查找时忽略大小写。语法格式:
int strripos(string $str1, string $str2[, int $offset=0])
④substr_count()函数:
substr_count()函数可以在字符串$str1中查找$str2出现的总次数。语法格式:
int substr_count(string $str1, string $str2[, int $offset=0[, int $length]])
执行后该函数返回整型,表示出现的次数。可选参数$offset用于指定查找的开始位置,$length用于指定最大搜索长度。如果$offset加上$length的和大于$str1的总长度,则打印警告信息。示例:
$result=substr_count( $text1, 'is', 4, 10);
该函数不计算重叠字符串。
4.操作子字符串:
1)分隔字符串:
分隔字符串是指按照指定的分隔符,将一个字符串分隔成若干个子串。
①strtok()函数:
Strtok()函数可以按指定的字符分隔字符串。语法格式:
string strtok (string $str, string $token)
其中,$str为要分隔的原始字符串,$token为由分隔符组成的字符串。strtok()函数在使用时比较特殊,在连续使用的时候,第一次需要指定字符串和分隔符,但是第二次只要放入分隔符就可以。一次可以指定一个分隔符,也可以指定多个分隔符。示例:
<?php
$str="100|QQ群|itzcn.com";
$token="|";
$result=strtok( $str, $token);
echo "使用strtok()后的结果:";
while($result!==false) {
echo "$result 、";
$result=strtok($token);
}
$str="A B C, 北京,上海;9路;4路;K2路";
$token=" ,;";
$result=strtok( $str, $token);
echo "\n使用strtok()后的结果:";
while($result!==false) {
echo "$result 、";
$result=strtok($token);
}
?>
执行结果为:
使用strtok()后的结果:100、QQ群、itzcn.cn、
使用strtok()后的结果:A、B、C、北京、上海、9路、4路、K2路、
②explode()函数:
explode()函数可以根据指定的分隔符,将字符串分隔成一个由字符串组成的数组,数组中的每个元素都是字符串的一个子串。语法格式:
string explode(string $separator, string $string[, int $limit])
$limit参数用于限制分隔后的元素个数。如果设置了$limit参数,则返回的数组包含最多$limit个元素,而最后那个元素将包括$separator的剩余部分。如果分隔符为空字符串(“”),该函数将返回false。如果分隔符所包含的值在$separator中找不到,那么该函数将返回包含$separator的单个元素的数组。如果$limit参数是负数,则返回除了最后的-$limit个元素外的所有元素。示例:
<?php
$keys="PHP ASP JSP ASP.NET";
$token=" ";
$result=explode( $token, $keys);
print_r($result);
print_r(explode($token,$keys,2) );
print_r(explode($token,$keys,-2) );
?>
执行后将输出3个数组:
Array
(
[0] => PHP
[1] => ASP
[2] => JSP
[3] => ASP.NET
)
Array
(
[0] => PHP
[1] => ASP JSP ASP.NET
)
Array
(
[0] => PHP
[1] => ASP
)
③implode()函数:
implode()函数的功能与explode()函数相反。使用它可以指定一个分隔符,将一个字符串数组中的元素连接起来,组成一个字符串。语法格式:
string implode(string $glue, array $pieces)
示例:
<?php
$ary=array("PHP", "ASP", "JSP", "ASP.NET");
$result=implode( "-", $ary); //结果为:PHP-ASP-JSP-ASP.NET
?>
2)填充字符串:
填充字符串是指向字符串添加指定的字符,需要用到PHP的str_pad()函数。语法格式:
string str_pad (string $input, int $pad_length [, string $pad_string=" " [, int $pad_type= STR_PAD_RIGHT]])
其中,$input表示待填充的字符串,$pad_length表示填充后的字符串长度,默认在字符串的右侧使用空格进行填充。该函数还有两个可选参数:$pad_string用于指定填充字符;$pad_type用于指定填充样式,它有如下可选项:
·STR_PAD_RIGHT:在字符串右侧进行填充,此值为默认值。
·STR_PAD_LEFT:在字符串左侧进行填充。
·STR_PAD_BOTH:在字符串的两侧同时进行填充,如果无法对称,则优先填充右侧。
示例:
var_dump(str_pad($str, 30, "\\"));
var_dump(str_pad($str, 30, "*", STR_PAD_LEFT));
var_dump(str_pad($str, 21, "__", STR_PAD_BOTH));
使用此函数时,如果指定的$pad_length小于等于原字符串的长度,则不会进行填充,并且不会影响原字符串的长度。
3)截取字符串:
截取字符串是指从一个字符串中提取一部分子串。
①strstr()函数:
strstr()函数返回$haystack中从$needle的第一次出现到最后的部分,如果没有查找到则返回false。语法格式:
string strstr (string $haystack, mixed $needle [, bool $before_needle=false])
使用时注意,查找时区分大小写。示例:
echo strstr ($strs, "@");
②stristr()函数:
stristr()函数和strstr()函数实现的功能相同,只是它在查找时不区分大小写。语法格式:
string stristr (string $str1, mixed $str2)
使用时注意,查找时区分大小写。
③strpos()函数:
strpos()函数返回$haystack中$needle第一次出现的整数位置。语法格式:
int strpos (string $haystack, mixed $needle [, int $offset=0])
该函数查找时区分大小写。如果找到返回的整数位置指的是第多少字节,从0开始计数;如果没有找到则返回false。
④strrchr()函数:
strrchr()函数返回$str1中从$str2的最后一次出现到最后的部分;如果没有查找到则返回false。语法格式:
string strrchr (string $str1, mixed $str2)
该函数在查找时,如果$str2中包含了不止一个字符,那么仅使用第一个字符。示例:
$str3="today is Wednesday";
echo strrchr ($strs, "WABC"); //输出:Wednesday
⑤substr()函数:
substr()函数返回$string中从第$start+1个字节开始到最后的部分。语法格式:
string substr (string $string, int $start [, int $length])
对于$start 参数有如下3种情况:
·非负数:返回的字符串将从$string的$start位置开始,从0开始计算。
·负数:返回的字符串将从$string结尾处向前数第$start个字符开始。
·如果$string的长度小于或等于start,将返回false。
$length是一个可选参数,它有如下4种情况:
·正数:返回的字符串将从$start处开始最多包括$length个字符(取决于$string的长度)。
·负数:那么$string末尾处的许多字符将会被漏掉(若$start是负数,则从字符串尾部算起)。如果$start不在这段文本中,那么将返回一个空字符串。
·为0、false或null的$length,那么将返回一个空字符串。
·如果没有提供$length,返回的子字符串将从start位置开始直到字符串结尾。
示例:
$str="hello everyone";
echo substr ($str, 6); //输出:everyone
echo substr ($str, -6); //输出:eryone
echo substr ($str, 2, 5); //输出:llo e
echo substr ($str, 2, -2); //输出:llo everyo
4)替换字符串:
①str_replace()函数:
str_replace()函数可以搜索$subject中的子字符串$search。如果找到了子串,则使用$replace替换$search,然后返回$subject的值。语法格式:
mixed str_replace (mixed $search, mixed $replace, mixed $subject[, int $count])
该函数的$count可选参数用于统计$search在$subject中的匹配次数。示例:
<?php
$html1="<head>{title}</head>";
$title="<title>音乐盒</title>";
echo str_replace ("{title}", $title, $html1);
echo "\n";
$color="Red Black White Green";
$key=array("a","b","e");
echo str_replace ($keys, "*", $color);
echo "\n";
$str1="one two three four five six seven eight nine ten";
echo str_replace ("e", "E", $str1, $count);
echo "\n";
echo "字母e一共在\$str中出现了$count次";
?>
执行结果为:
<head><title>音乐盒</title></head>
R*d Bl*ck Whit* Gr**n
onE two thrEE four fivE six sEvEn Eight ninE tEn
字母e一共在$str中出现了9次
②str_ireplace()函数:
str_ireplace()函数的功能与str_replace()函数基本相同,不同的是它在替换时不区分大小写。语法格式:
mixed str_ireplace (mixed $search, mixed $replace, mixed $subject[, int $count])
该函数的$count可选参数用于统计$search在$subject中的匹配次数。示例:
<?php
$str1="one two three four five six seven eight nine ten";
echo str_ireplace ("E", "*", $str1, $count);
echo "字母e一共在\$str中出现了$count次";
?>
执行结果为:
on* two thr** four fiv* six s*v*n *ight nin* t*n
字母e一共在$str中出现了9次
③substr_replace()函数:
substr_replace()可以使用$replace替换$subject中从第$start个字符开始,长度为$len的子串,并返回$subject的值。语法格式:
mixed substr_replace (mixed $string, string $replacement, int $start[, int $length])
示例:
<?php
$html1='<head>{title}</head>';
echo substr_replace ($html1, '<html></html>', 0)."\n";
echo substr_replace ($html1, '<html></html>', 0, strlen($str))."\n";
echo substr_replace ($html1, '<html>', 0, 0)."\n";
echo substr_replace ($html1, '', 6, 7)."\n";
?>
执行结果为:
<html></html>
<html></html>
<html><head>{title}</head>
<head></head>
④strtr()函数:
strtr()函数可以将字符串中的指定字符进行替换,有两种语法格式。第一种为:
string strtr (string $str, string $from, string $to)
这里共有3个参数,替换时会将第二个参数的字符串替换为第三个参数的字符串。如果两个字符串参数的长度不一致,则较长的那个字符串会被截断。
第二种格式有两个参数,第二个参数是一个准备进行替换处理的数组。语法格式为:
string strtr (string $str, array $replace_pairs)
示例:
<?php
$str=array('szj'=>"shenzhen", 'web'=>"dwenzhao.cn");
echo strstr ("hello web in bj.", $str);
?>
执行结果为:
hello dwenzhao.cn in shenzhen.)