(1)strpos(母串,子串),返回的结果为索引位置,如果是-1的话,就说明母串中没有这个子串。蛮有用的可以用来匹配,发挥正则一般的作用。
(2)substr($a,开始位置,长度),三个参数。没指定长度则默认返回所有。如果长度为负值,则先取到所有,然后将倒数的几个去掉。如substr("abcd",0,-2),这里先取到abcd,然后将倒数的2个值去掉,所以得到ab。注意explode(" ",$a),这个要处理的字符串放在后头。
if(strlen($a)>70){
echo substr($a,0,70)."...";
} //如果字串长度大于70,则截取前70位,后面的用三个点号替代。
(3)substr_replace($a,$b,开始位置,长度),不过比substr多了第2个参数,即要替换成的新元素。如果指定了长度,则表示要占用掉多少长度,其它的仍保留。如:
$a="aaaaaaaaaa"; $b=substr_replace($a,"fish",3); // 结果是 aaafish,因为没指定长度,所以默认就全部替换掉。
$a="aaaaaaaaaa"; $b=substr_replace($a,"fish",3,3); // 指定了长度为3,说明fish要占掉3个位置,于是还会剩下4个a。结果:aaafishaaaa
(4)可以用strpos( )先锁定要找的字符串首先出现的位置,然后要找的字符串的长度用strlen( )算出,最后用substr( )把它切出来。。
(5)反转一个字符串,可先用explode把它劈开成数组,然后用array_reverse( )反转,再用implode将数组拼回成字符串。
(6)注意一个汉字的strlen长度是3,而数字字母的长度是1。
(7)strstr("abcdef","d"),结果会返回“def”,会返回查找字母以及其以后的部分。
(8)strcmp(str1,str2),比较两个字符串,以2进制的数据进行比较,如果相同则返回0,如果str1<str2则返回-1,否则返回1。倒是可以用在密码的二次比较上,但是js也可以做得不错。strnatcmp(str1,str2),nat代表自然排序,比如10就会比2大,如果没有这个,因为比较首字母,就会认为10比2小。strcasecmp(str1,str2),不区分大小写比较。
(9)nl2br( ),$a="我们都很好\n"; nl2br($a)之后,\n就变成了<br/>这是浏览器可以理解的换行标签,于是可以正确在浏览器中显示。这个“l”代表啥?
(10)strip_tags( )这个有意思,你可以输入html标签,但是只有其中的文本会被留下,如:
$a="this is <a href='http://baidu.com' name='百度'>新浪</a>",用strip_tags( )处理后只剩下“新浪”2个字,它是文本,其余标签部分全部消失。
(11)substr_count( ),可以统计子串出现的次数。$a="aabbcbcbb"; $b="bb"; echo substr_count($a,$b) // 结果为2
(12)str_replace( ),这个需要带3个参数,第一个是旧字串,第二个是new字串,第三个是字符串母体。如: $a="aabbccdd"; $b="bb"; echo str_replace("dd",$b,$a); 结果是aabbccbb。这个是区分大小写的替换,如果是str_ireplace( )则是不区分大小写替换。
(13)strlen( )统计字串长度,注意汉字是2个长度。
(14)explode是专属于php的方法,js没有。同时必须指定分隔符,不可以是“”为空,否则会返回false。