php字符串函数

来源:互联网 发布:linux中vim后如何退出 编辑:程序博客网 时间:2024/05/22 17:30

PHP字符串处理函数

1AddcSlashes 字符串加入反斜线

语法:string addcslashes(string str,string charlist);

2AddSlashes 字符串加入反斜线

语法:string addslashes(string str);

在特定的字符前加反斜线:'"/NULL

3bin2hex 将二进位转成十六进位

语法:string bin2hex(string str);

4Chop 去除连续空白

语法:string chop(string str);

5Chr Chr根据ASCII值返回字符

语法:string chr(int ascii);

6chunk_split 将字符串分成小段

语法:string chunk_split(string string,int [chunklen],string [end]);

7convert_cyr_string 字符串内码转换

语法:string convert_cyr_string(string str,string from,string to);

8count_chars 返回字符串的信息

语法:mixed count_chars(string string,[mode]);

9crypt 返回字符串用DES编码加密

语法:string crypt(string str,string [salt]);

10echo 显示内容

语法:echo(string arg1,string [argn].....);

11explode 切开字符串

语法:array explode(string separator,string string);

12flush 清除输出缓冲区

语法:oid flush(void);

13get_html_translation_table 返回函数htmlspecialchars()htmlentites()的字符转换表

语法:string get_html_translation_table(int table);

14get_meta_tags 抽出档案所有meta标记的资料

语法:array get_meta_tags(string filename,int [use_include_path])

15htmlentities 将所有的字元都转民HTML字符串

语法:string htmlentities(string string);

16htmlspecialchars 将特殊字元转成HTML格式

语法:string htmlspecialchars(string string);

17implode 将数组变成字符串

语法:string implode(string glue,array pieces);

18join 将数组变成字符串

语法:string join(string glue,array,pieces);

19ltrim 去除连续空白

语法:string ltrim(string str);

20md5 使用MD5对字符串处理

语法:string md5(string str);

21Metaphone 返回字符串的读音值

语法:string metaphome(string str);

22nl2br 将换行字元转成<br>

语法:string nl2br(string string);

23Ord 取得字符的ASCII码值

语法:int ord(string string);

24parse_str(string str);

语法:vid parse_str(string str)

25print 输出字符串

语法:print(string arg);

26printf 输出格式化字符串

语法:int printf(string format,mixed [args]...);

27quoted_printable_decode qp编码字符串转成八进制字符串

28QuoteMeta 特殊字符前加入反斜线

29rawurldecode 解码以URL方式编码的字符串

语法:string rawurldecode(string str);

30rawurlencode 将字符串编码成URL专用格式

31setlocale 设置本地信息

语法:string setlocale(string category,string locale);

32similar_text 计算字符串相似度

语法:int similar_text(string first,string second,double [percent]);

33soundex 返回字符串的读音值

语法:string soundex(string str);

34sprintf 将字符串格式化

语法:string sprintf(string format,mixed [args]...);

35strcasecmp 不区分大小写进行二进制方式的字符串比较

语法:int strcasecmp(string str1,string st2);

36strchr 寻找第一个出现的字符

语法:string strchr(string haystack,string needle);

37strcmp 区分大小写二进制方式的字符串比较

语法:int strcmp(string str1,string str2);

38strcspn 不同字符串的长度

语法:int strcspn(string str1,string st2);

39strip_tags 去掉HTMLPHP的标记

语法:string strip_tags(string str,string [allowable_tags]);

40stripcslashes 删除反斜线字符串

语法:string stripcslashes(string str);

41stripslashes 删除反斜线字符

语法:string stripslashes(string str);

42stristr 返回一个字符串在另一个字符串中出现以后的内容

语法:string stristr(string haystack,string needle);

43strlen 取得字符串的长度

44strpos 取得字符串中某字符最先出现的位置

语法:int strpos(string haystack,string needle,int [offset]);

45strrchr 取得某字符最后出现处起的字符串

语法:string strrchr(string haystack,string needle);

46str_repet 重复一个字符串

语法:str_repeat(string input,int multiplier);

47strrev 颠倒字符串

语法:string strrev(string string);

48strrpos 寻找字符串中某字符最后出现的位置

语法:int strrpos(string haystack,char needle);

49strspn 计算一个字符串在另一个字符串中出现的数目

语法:int strspn(string str1,string str2);

50strstr 返回一个字符串在另一个字符串中出现以后的内容

语法:string strstr(string haystack,string needle);

51strtok 切开字符串

语法:string strtok(string arg1, string arg2);

以字符串arg2为分隔符,切开字符串arg1arg2中可以放入多个分隔符。

52strtolower 字符串全转为小写

语法:string strtolower(string str);

53strtoupper 字符串全转为大写

语法:string strtoupper(string str);

54str_replace 字符串替换

语法:str_replace(string needle,string str,string haystack);

在字符串haystack中替换所有字符串strneedle。本函数可以使用ereg_replace()代替。

55strtr 字符串替换

语法:string strtr(string str, string from, string to);

字符替换,将字符串str中包含from字符的一一对应地换为to中的字符。如果fromto的字符数不相同,将忽略多出的字符,这个函数的替换是字符,而不是单词或字符串替换。

56substr 取部分字符串很多人都以为htmlentitieshtmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。

这两个函数在格式化带有英文字符的html代码的时候基本没啥问题,但是htmlentities对中文字符也不放过,这样得出来的结果是中文字符部分变为一堆乱码。当时做英文站的时候根本就没觉察到这个问题,而今天公司的一个收藏站却因为有有非英文字符而出现了问题,我最终查出来是htmlentities这个函数的问题,同时我也找到了htmlspecialchars这个函数。

对于这两个函数,php手册上都是英文做的解释,其中在htmlentities函数的说明部分有这么一段英文:

This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities.

从这句话中我们也可以看出来这两个函数虽然基本功能差不多,但是还是有细微的差别在里面的。再仔细看htmlspecialchars函数里面的一段话:

The translations performed are:

‘&’ (ampersand) becomes ‘&’

‘”‘ (double quote) becomes ‘”‘ when ENT_NOQUOTES is not set.

”’ (single quote) becomes ”’ only when ENT_QUOTES is set.

‘<’ (less than) becomes ‘&lt;’

‘>’ (greater than) becomes ‘&gt;’

可以了解到htmlspecialchars只转化上面这几个html代码,而htmlentities却会转化所有的html代码,连同里面的它无法识别的中文字符也给转化了。

我们可以拿一个简单的例子来做比较:

$str='<a href="test.html">测试页面</a>';

echo htmlentities($str);

?&gt;$str='<a href="test.html">测试页面</a>';

echo htmlspecialchars($str);

?&gt;

有条件的朋友,可以分别运行一下上面的这两段代码,就可以看出两者的差别了。

语法:string substr(string string, int start, int [length]);

57substr_rreplace 字符串替换

语法:string substr_replace(string string,string replacement, int start, int [length]);

string中提取字符串,并且以字符串replacement替换,参数startlength的定义及使用与subxstr相同。

58trim 截去字符串首尾的空格

语法:string trim(string str);

59ucfirst 将字符串第一个字符改为大写

语法:string ucfirst(string str);

60ucwords 将字符串每个单词第一个字母改大写

语法:string ucwords(string str);

PHP字符串替换函数 strtr 浅谈

PHP字符串替换函数 strtr 浅谈
2008-08-24  10:56
原文出处 http://blog.asdjkl.net/archives/8

先来看看这个php字符串替换函数 strtr()的两种状态
strtr(string,from,to)
或者strtr(string,array)
首先针对strtr函数第一种方式

我们看看下面的举例:

1.        echo strtr("I Love you","Lo","lO");

2.        ?>

复制代码

得到的结果是
I lOve yOu

这个结果提醒我们
1.strtr
它是区分大小写的
2.strtr
的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意
再举一个特殊例子,说明这个php sttr函数的怪异

1.        echo strtr("I Love you","Love","");

2.        ?>

复制代码

结果是

  I Love you   

什么也不会改变,所以strtr需要注意的是:
3.
不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的。

再次举例strtr函数的另一种情况

1.        echo strtr("I Loves you","Love","lOvEA");

2.        ?>

复制代码

结果是

          I lOvEs yOu  

注意看第三个参数的A,在结果中并没有出现
4.
我不建议用strtr以少换多
ok
,既然这个strtr函数挺麻烦为什么还要用呢?
原因是,它的速度很快
据说,strtr str_replace 快四倍
所以
5.
能用strtr函数的时候一定要用
那怎么用才舒服?
这就是它的第二种情况
strtr(string,array)
6.strtr
符合意愿的使用方法

1.        $table_change = array('you'=>'her sister');

2.        echo strtr("I Love you",$table_change);

3.        ?>

复制代码

结果为

I Love her sister

7.
小技巧:你想到替换什么你就往数组加什么
比如

1.        $table_change = array('you'=>'her sister');

2.        $table_change += array('Love' => 'hate');

3.        echo strtr("I Love you",$table_change);

4.        ?>

复制代码

结果是

I hate her sister

再次提醒那个Love 写成love 是行不通的哦。
ok
,乱七八糟说了一通,其实关于strtr最想说的就是这个后面的用法了
简单方便。
貌似后面的用法也忽略掉了前后字符长度不同的问题
以上php strtr函数实验,PHP5.2 测试通过。