您的位置:首页 > 编程语言 > PHP开发

PHP学习笔记--字符串操作 作者:yezi33 字符串的整理: trim():除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空

2017-08-29 13:55 1286 查看

PHP学习笔记--字符串操作

字符串的整理:
trim():除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。
语法: string trim ( string $str [, string $charlist ] )
如果不加第二个参数,trim()函数将去除以下这些字符:
  " "(ASCII 32(0x20)),一个空格
  "/t"(ASCII 9(0x09)),tab键
  "/n"(ASCII 10 (0x0A)), 换行符
  "/r" (ASCII 13 (0x0D)),a carriage return.
  "/0" (ASCII 0 (0x00)),空字符
"/x0B" (ASCII 11 (0x0B)),a vertical tab.
该函数的第二个参数是提供要过滤的特殊字符。
ltrim():只是从字符串的开始处(左边)除去空格。
rtrim():只是从字符串的开始处(右边)除去空格。

使用HTML格式化 n12br()函数:用XHTML中的<br/>标记代替字符串中的换行符。
语法:string nl2br ( string $string [, bool $is_xhtml=true ] )

为打印输出儿格式化字符串,echo()、print()、printf()、sprintf()和print_r()
printf()函数:优点在于可以格式化输出!
语法:%['padding_character][-][width][.precision]type
所有的转换说明都是以%开始,如果想打印一个%符号,必须用%%.
参数'padding_character是可选.它将被用来填充变量直至所指定的宽度,该参数的作用就在变量前面填充.默认的填充字符是一个空格,如果指定0或者空格,就不需要 ' 单引号作为前缀,其他字符就必须指定 ' 作为前缀.
参数 - 是可选.它指左对齐,默认是右对齐.
参数width是指被替换的变量的长度.
参数precision表示以小数点开始.它指明小数点后要显示的位数.
参数type 是类型码,请看下表:

类型 | 含义

b | 解释为整数并作为二进制输出.

c | 解释为整数并作为字符表示输出(ASCII码).

d | 解释为整数并作为整数输出.

f | 解释为双精度并作为浮点数输出.

o | 解释为整数并作为八进制数输出.

s | 解释为字符串并为字符串输出.

u | 解释为整数并作为非指定小数输出.

x | 解释为整数并作为带有小写字母a-f的十六进制数输出

X | 解释为整数并作为带有大写字母A-F的十六进制数输出

改变字符串中的字母大小写:
strtoupper()-------------将字符串转换为大写
strtolower()-------------将字符串转换成小写
ucfirst()----------------如果字符串的第一个字符是字母,就将该字符转换为大写
ucwords()----------------将字符串每个单词的第一个字母转换为大写

格式化字符串以便储存:addslashes()和stripslashes()
string addslashes ( string $str ):使用反斜线引用字符串。这些字符是单引号(’)、 双引号(”)、反斜线(/)与NUL(NULL 字符)。
默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。 遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
string stripslashes ( string $str ):本函数可去掉字符串中的反斜线字符。

用字符串函数链接和分割字符串,使用函数explode()、implode()和join()
array explode ( string $separator , string $string [, int $limit ] ):使用一个字符串分割另一个字符串,此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。 如果设置了 limit 参数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
implode()和join()来实现与函数explode()相反的功能
string implode ( string $glue , array $pieces )本函数将数组的内容组合成一个字符串,参数 glue 是字之间的分隔符号。join() 为别名 implode()
使用strtok()函数:string strtok ( string $input , string $separator )分隔字符串。
与函数explode()每次都将一个字符串全部分割成若干小块不同,strtok()函数一次只从字符串中取出一些片段(成为令牌)。 对于一次从字符串中取出一个单词的处理来说函数strtok()比explode()的效果好

substr()函数允许我们访问一个字符串给定起点和终点的子字符串。
语法:string substr(string string, int start, int [length]);
本函数将字符串 string 的第 start 位起的字符串取出 length 个字符。若 start 为负数,则从字符串尾端算起。 若可省略的参数 length 存在,但为负数,则表示取到倒数第 length 个字符。

字符串的排序:strcmp()、strcasecmp()和strnatcmp()
strcmp()用来比较二字符串的大小。返回负数表示 str1 小于 str2;返回正数表示 str1 大于 str2;返回零表示二字符串相同。
int strcmp(string str1, string str2);
int strcasecmp ( string $str1 , string $str2 )该函数不区分大小写
int strnatcmp ( string $str1 , string $str2 )该函数也不区分大小写,而且将按“自然排序”比较字符串

函数strlen()检查字符串的长度
语法:int strlen ( string $string )

在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr()
string strstr ( string $haystack , string $needle [, bool $before_needle=false ] ) 本函数将 needle 最先出现在 haystack 处起至haystack 结束的字符串返回。若找不到 needle 则返回 false。
strchr — 别名 strstr()
string strrchr ( string $haystack , mixed $needle ) 查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。如果成失败,否则返回 false。
string stristr ( string $haystack , mixed $needle [, bool $before_needle=false ] ) 它和strstr()一样,其区别在于不区分字符大小写。

查找子字符串的位置:strpos()和strrpos()
Int strpos ( string $haystack , mixed $needle [, int $offset=0 ] )
用来寻找字符串 haystack 中的字符 needle 最先出现的位置。值得注意的是 needle 只能是一个字符, 中文字等就不适合了。若找不到指定的字符,则返回 false 值。参数 offset 可省略,用来Y表示从 offset 开始找。该函数的offset是用来指定haystack的开始搜索的位置。
int strrpos ( string $haystack , string $needle [, int $offset=0 ] )
查找字符串在另一个字符串中最后一次出现的位置。如果成功,则返回位置,否则返回 false。

替换子字符串:str_replace()和substr_replace()
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
这个函数用“replace”替换所有subject中的needle,并返回替换后的结果。可选的第四个参数是count,它包含了要执行的替换操作次数。
mixed substr_replace ( mixed $string , string $replacement , int $start [, int $length ] )用来给定位置中查找和替换字符串钟特定的子字符串。这个函数使用字符串replacement替换字符串string中的一部分。具体是哪一部分则取决于起始位置和可选参数length的值。Start的值代表要替换字符串位置的开始偏移量。如果它是一个负值,就是从字符串末尾开始的一个偏移量。

使用正则表达式
用正则表达式查找子字符串,ereg()和eregi()
int ereg ( string $pattern , string $string [, array &$regs ] ) :以区分大小写的方式在 string 中寻找与给定的正则表达式pattern 所匹配的子串。这些字符串将会存储在数组matches中,每个数组元素对应一个子表达式。
如果在 string 中找到 pattern 模式的匹配则返回 所匹配字符串的长度, 如果没有找到匹配或出错则返回 FALSE。如果没有传递入可选参数 regs 或者所匹配的字符串长度为 0,则本函数返回 1。
int eregi ( string $pattern , string $string [, array &$regs ] ): 不区分大小写的正则表达式匹配。本函数和 ereg() 完全相同,只除了在匹配字母字符时忽略大小写的区别。

用正则表达式替换子字符串,ereg_replace()和eregi_replace()
string ereg_replace ( string $pattern , string $replacement , string $string ):本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement 。 返回替换后的字符串。(如果没有可供替换的匹配项则会返回原字符串。)
string eregi_replace ( string $pattern , string $replacement , string $string ):不区分大小写的正则表达式替换,本函数和ereg_replace() 完全相同,只除了在匹配字母字符时忽略大小写的区别。

使用正则表达式分割字符串split()
array split ( string $pattern , string $string [, int $limit ] ): 用正则表达式将字符串分割到数组中
本函数返回一个字符串数组,每个单元为 string 经区分大小写的正则表达式 pattern 作为边界分割出的子串。 如果设定了 limit ,则返回的数组最多包含 limit 个单元,而其中最后一个单元包含了 string 中剩余的所有部分。 如果出错,则 split()返回 FALSE。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string
相关文章推荐