欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

跟我学习php字符串常用函数-下篇

程序员文章站 2022-03-25 13:23:43
...
1> mixed parse_url ( string $url [, int $component = -1 ] )

解析url

  • $component, 指定获取的部分,不写,返回一个关联数组,包含所有url信息指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。 (除了指定为 PHP_URL_PORT 后,将返回一个 integer 的值)。
$url = 'http://username:password@hostname/path?arg=value#anchor';print_r( parse_url($url) );echo parse_url($url, PHP_URL_PATH);//输出: /path/*输出:Array(    [scheme] => http    [host] => hostname    [user] => username    [pass] => password    [path] => /path    [query] => arg=value    [fragment] => anchor)*/

2> void parse_str ( string $str [, array &$arr ] )

从字符串中解析出多个变量,可以和 parse_url 函数结合使用

  • $arr, 如果设置了第二个变量 arr,会将解析出来的变量存入数组
$url = "http://www.web.com?act=login&id=111";$query = parse_url($url, PHP_URL_QUERY);parse_str($query);echo $act;//输出: loginecho $id;//输出: 111

3> string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

根据编码方式截取字符串

  • $start, 开始索引
  • $length, 从索引以编码方式为一个单元截取的长度
  • $econding, 编码方式, 和文件编码方式有关系
header('content-type: text/html; charset=utf-8;');$str = "做人不能欺骗自己";echo mb_substr($str, 0, 6, 'UTF-8');//输出: 做人不能欺骗

4.> mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

查找字符串首次出现的位置

  • $haystack, 在hanstack字符串中查找
  • $needle, 查找什么字符
  • $offset, 查找的起始索引
  • 返回, 成功返回对应的索引位置,没查到返回false
$str = 'abcabc';echo strpos($str, 'a', 1);//输出: 3

5> int strlen ( string $string )

获取字符串的长度

6> string strrev ( string $string )

返回反转后的字符串

7> string substr ( string $string , int $start [, int $length ] )

截取字符串

  • start, 起始索引
  • $length, 截取的长度,不写截取到最后
    $str = 'a/b.txt';echo substr($str, strpos($str, '/')+1 ); //输出: b.txt

8>string strtolower ( string $string )

将字符串转化为小写并返回

string strtoupper ( string $string )

将字符串转化为大写并返回

9> mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

替换字符串中的某些字符,区分大小写。str_ireplace函数忽略大小写

  • $search, 要被替换的字符或字符串
  • $replace, 替换的心字符或字符串
  • $subject, 替换的对象,即总字符串
  • $count, 替换发生的次数
$str = 'a,b,c';echo str_replace(',', ' ', $str);//输出: a b c

10> int strcmp ( string $str1 , string $str2 )

比较字符串是否相等,是区分大小写的。strcasecmp函数忽略大小写

  • 如果 str1 小于 str2 返回 0;如果两者相等,返回 0。