php学习笔记(六)字符串
2012-08-08 15:29
316 查看
字符串常用的处理技术包括转义,还原字符串,获取字符串长度,截取字符串,合成字符串。合成字符串,分割字符串,替换字符串,检索字符串,去除字符串中的空白和特殊字符,字符串与html转换等。
我们可以完成如下任务:
1.自定义函数的字符串函数结合,完成超长文本的分页输出;
2.对查询的关键字进行描红;
3.购物车中数据的读取;
数据储存在session中
6.2转义,还原字符串
将数据插入到数据库中时可能引起一些问题,比如出现错误或则乱码等,这是因为数据库将传入的数据中的字符解释成控制符。针对这样的问题,我们需要对特殊的字符进行转义。
手动转义,还原字符数据,另一种是自动转义,还原字符串数据,这还可以应用php
提供的addslashes()函数和stripslashes()函数来实现。
Addslashes()加入斜线“\”,然后对指定字符串中的字符进行转义。
(1)String addcslahes(string str,string charlist);
Charlist指定在字符串中的哪些字符前加上“\”
(2)stripcslashes(stringstr)
它可以进行转义的字符包括“ ' ”,“ " ”,反斜线“\”,NULL字符“0”;
Eg:
<?php
$str = "select * from tb_bookwhere bookename='PHP编程宝典'";
$a = addslashes($str);
echo $a."<br>";
$b=stripcslashes($a);
echo $b."<br>";
?>;
Eg结果:
select *from tb_book where bookename=\'PHP编程宝典\'
select * from tb_book where bookename='PHP编程宝典'
6.3截取字符串
(1).在php中对字符串进行截取应用substr()函数,对字符串截取的最常用的方法了。
Substr()函数从字符串中按照指定位置截取一定长度的字符。
String substr(string str,int start[,intlength]);
如果参数start为负数:则从字符串的末尾开始截取。
Length为可选项,用于指定截取字符的个数,如果length为负数,则表示取到倒数第length个length个字符。
Eg:
<?php
$str = "中南大学信息科学与工程学院计算机科学与技术";
echo substr($str,0,-3);
?>;
Eg结果:
中南大学信息科学与工程学院计算机科学与�;
Substr()函数截取中参数的指定位置是从0开始计算的,即字符串中的第一个字符表示0;
(2).应用strlen()函数获取字符串长度。
汉字占两个字符,数字,英文,小数点,下画线和空格占一个字符。
使用strlen()函数还可以检测字符串长度。
6.4分割,合成字符串
通过一“@”作为分割的标示符进行拆分,网站购物时将商品字符串分割成N个数组元素,最后输出。
字符串的分割使用explode()函数,他按照指定的规则对一个字符串进行分割,返回值为数组。
array explode(string separator,string str,[intlimit]);
如何将数组中的元素合成字符串
String implode(stringglue,array pieces)
Glue是字符串类型,用于指定分隔符。参数piece是数组类型。
Eg:
<?php
$str = '中南大学*信息科学与工程学院*计算机科学与技术';
$array = explode("*",$str);
$str_arr = implode("@",$array);
echo $str_arr;
?>;
Eg结果:
中南大学@信息科学与工程学院@计算机科学与技术;
6.5替换字符串
Php提供的str_ireplace()函数和substr_replace()函数来实现字符串的替换功能。
6.5.1 str_ireplace()函数
(1).Str_ireplace函数使用新的子字符串替换原始字符串中被指定要替换的字符串。
本函数不区分大小写,如果需要对大小写加以区分,可以使用str_replace()函数
Mixed str_ireplace(mixed search,mixedreplace,mixed subject[,int &count]);
<?php
$str = "中南大学*信息科学与工程学院*计算机科学与技术";
echo str_ireplace("中南大学","csu",$str);
?>;
Eg结果:
csu*信息科学与工程学院*计算机科学与技术;
(2).substr_replace()函数
Substr_replace(string str,string repl,int start,[int length]);
6.6检索字符串
(1).Strstr()函数,从首次出现的位置开始查找,区分大小写;
(2).Strrchr()函数,从最后一次出现的位置开始查找,区分大小写;
(3).Stripos()函数指定查找符(A)在另一个字符串(B)首次出现的位置;
(4).Strripos()函数查找指定字符串在另一字符串中最后一次出现的位置。不区分大小写。
Strrpos()区分大小写。
可以以用来判断上传图片格式是否正确;
substr_conut()函数。
6.6.2 substr_count()函数
()
Int substr_count(string haystack,string needle);
Haystack是指定的字符串;
参数needle为指定的字串。
6.7去除字符串中空白字符和特殊字符
(1).ltrim()去除字符串左边的空白字符和特殊字符。
(2).rtrim()去除字符串右边的空白字符和特殊字符。
空白字符包括("\0","\t","\n","\x0B","\r","");
Stringltrim(string str[,string charlist]);
(3).trim()函数
trim()用于去除字符串开始位置和结束位置的空白字符,并返回去掉空白字符后的字符串。
Eg:
<?php
$str = " \r\r(:@_@中南大学*信息科学与工程学院*计算机科学与技术 @_@:)";
echo $str;
echo "<br>";
echo trim($str,"\r\r(:@_@ @_@:)");
echo "<br>";
?>;
Eg结果:
(:@_@中南大学*信息科学与工程学院*计算机科学与技术 @_@:)
中南大学*信息科学与工程学院*计算机科学与技术
6.8字符串与html转换
字符串与HTML之间的转换可以直接将源代码在网页中输出,而不被执行。
htmlentities()函数完成。
String_htmlentities(sting sting,[int quote_style],[string charset]);
我们可以完成如下任务:
1.自定义函数的字符串函数结合,完成超长文本的分页输出;
2.对查询的关键字进行描红;
3.购物车中数据的读取;
数据储存在session中
6.2转义,还原字符串
将数据插入到数据库中时可能引起一些问题,比如出现错误或则乱码等,这是因为数据库将传入的数据中的字符解释成控制符。针对这样的问题,我们需要对特殊的字符进行转义。
手动转义,还原字符数据,另一种是自动转义,还原字符串数据,这还可以应用php
提供的addslashes()函数和stripslashes()函数来实现。
Addslashes()加入斜线“\”,然后对指定字符串中的字符进行转义。
(1)String addcslahes(string str,string charlist);
Charlist指定在字符串中的哪些字符前加上“\”
(2)stripcslashes(stringstr)
它可以进行转义的字符包括“ ' ”,“ " ”,反斜线“\”,NULL字符“0”;
Eg:
<?php
$str = "select * from tb_bookwhere bookename='PHP编程宝典'";
$a = addslashes($str);
echo $a."<br>";
$b=stripcslashes($a);
echo $b."<br>";
?>;
Eg结果:
select *from tb_book where bookename=\'PHP编程宝典\'
select * from tb_book where bookename='PHP编程宝典'
6.3截取字符串
(1).在php中对字符串进行截取应用substr()函数,对字符串截取的最常用的方法了。
Substr()函数从字符串中按照指定位置截取一定长度的字符。
String substr(string str,int start[,intlength]);
如果参数start为负数:则从字符串的末尾开始截取。
Length为可选项,用于指定截取字符的个数,如果length为负数,则表示取到倒数第length个length个字符。
Eg:
<?php
$str = "中南大学信息科学与工程学院计算机科学与技术";
echo substr($str,0,-3);
?>;
Eg结果:
中南大学信息科学与工程学院计算机科学与�;
Substr()函数截取中参数的指定位置是从0开始计算的,即字符串中的第一个字符表示0;
(2).应用strlen()函数获取字符串长度。
汉字占两个字符,数字,英文,小数点,下画线和空格占一个字符。
使用strlen()函数还可以检测字符串长度。
6.4分割,合成字符串
通过一“@”作为分割的标示符进行拆分,网站购物时将商品字符串分割成N个数组元素,最后输出。
字符串的分割使用explode()函数,他按照指定的规则对一个字符串进行分割,返回值为数组。
array explode(string separator,string str,[intlimit]);
参数 | 说明 |
separator | Separator()为分隔符,如果分隔符为空,返回false. |
str | 指定将要被分割的字符串 |
limit | 可选参数,如果设置limit参数,则返回的数组中最多包含limit个元素,而最后的元素将包含的剩余部分。如果limit参数是负数,则返回除了最后的-limit个元素外的所有元素。 |
String implode(stringglue,array pieces)
Glue是字符串类型,用于指定分隔符。参数piece是数组类型。
Eg:
<?php
$str = '中南大学*信息科学与工程学院*计算机科学与技术';
$array = explode("*",$str);
$str_arr = implode("@",$array);
echo $str_arr;
?>;
Eg结果:
中南大学@信息科学与工程学院@计算机科学与技术;
6.5替换字符串
Php提供的str_ireplace()函数和substr_replace()函数来实现字符串的替换功能。
6.5.1 str_ireplace()函数
(1).Str_ireplace函数使用新的子字符串替换原始字符串中被指定要替换的字符串。
本函数不区分大小写,如果需要对大小写加以区分,可以使用str_replace()函数
Mixed str_ireplace(mixed search,mixedreplace,mixed subject[,int &count]);
参数 | 说明 |
seatch | 指定需要查找的字符串 |
replace | 指定替换的值 |
subject | 指定查找范围 |
count | 可选参数,获取执行替换的数量 |
$str = "中南大学*信息科学与工程学院*计算机科学与技术";
echo str_ireplace("中南大学","csu",$str);
?>;
Eg结果:
csu*信息科学与工程学院*计算机科学与技术;
(2).substr_replace()函数
Substr_replace(string str,string repl,int start,[int length]);
参数 | 说明 |
str | 指定要操作的原始字符串 |
repl | 指定替换后的新字符串 |
start | 指定字符串的开始位置,正数表示其实位置从字符串开头开始,负数表示从结尾开始,0表示从起始位置开始。 |
length | 可选参数,返回字符串的长度。 |
(1).Strstr()函数,从首次出现的位置开始查找,区分大小写;
(2).Strrchr()函数,从最后一次出现的位置开始查找,区分大小写;
(3).Stripos()函数指定查找符(A)在另一个字符串(B)首次出现的位置;
(4).Strripos()函数查找指定字符串在另一字符串中最后一次出现的位置。不区分大小写。
Strrpos()区分大小写。
可以以用来判断上传图片格式是否正确;
substr_conut()函数。
6.6.2 substr_count()函数
()
Int substr_count(string haystack,string needle);
Haystack是指定的字符串;
参数needle为指定的字串。
6.7去除字符串中空白字符和特殊字符
(1).ltrim()去除字符串左边的空白字符和特殊字符。
(2).rtrim()去除字符串右边的空白字符和特殊字符。
空白字符包括("\0","\t","\n","\x0B","\r","");
Stringltrim(string str[,string charlist]);
(3).trim()函数
trim()用于去除字符串开始位置和结束位置的空白字符,并返回去掉空白字符后的字符串。
Eg:
<?php
$str = " \r\r(:@_@中南大学*信息科学与工程学院*计算机科学与技术 @_@:)";
echo $str;
echo "<br>";
echo trim($str,"\r\r(:@_@ @_@:)");
echo "<br>";
?>;
Eg结果:
(:@_@中南大学*信息科学与工程学院*计算机科学与技术 @_@:)
中南大学*信息科学与工程学院*计算机科学与技术
6.8字符串与html转换
字符串与HTML之间的转换可以直接将源代码在网页中输出,而不被执行。
htmlentities()函数完成。
String_htmlentities(sting sting,[int quote_style],[string charset]);
参数 | 说明 |
string | 指定要转换的字符串 |
quote_style | 可选参数,选择如何处理字符串中的引号, |
string charset | 可选参数,确认转换所使用的字符集,指定字符集就能够避免转换中文字符出现乱码的问题; |
相关文章推荐
- 个人PHP学习笔记(六)--字符串
- PHP学习笔记之字符串编码的转换和判断
- PHP字符串操作学习笔记
- PHP学习笔记——字符串的定界符声明;
- PHP学习笔记——字符串的操作
- php——学习笔记,检索字符串和它的次数,替换字符串
- 【小白笔记】PHP学习之路 (9) --字符串(1)
- PHP学习笔记 05 - 字符串
- PHP学习笔记【12】_字符串
- php——学习笔记,substr截取字符串,大有文章
- php学习笔记2—(字符串和注释)
- PHP学习笔记--字符串操作 作者:yezi33 字符串的整理: trim():除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空
- PHP学习笔记12:字符串操作
- PHP学习笔记——字符串类型;
- php——学习笔记,printf输出字符串格式参数
- PHP学习笔记八之字符串(进阶篇)
- PHP学习笔记4:字符串与正则
- PHP学习笔记-字符串操作1
- PHP学习笔记-字符串操作2
- PHP 学习笔记 - - - 简单方法的使用 (字符串与数字)