PHP基础之常用字符串函数

    1查找字符位置函数:

strpos($str,search,[int]):查找search在$str中的第一次位置从int开始;

stripos($str,search,[int]):函数返回字符串在另一个字符串中第一次出现的位置。该函数对大小写不敏感

strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int

2、提取子字符函数(双字节)

substr  ( string $string  , int $start  [, int $length  ] )返回字符串 string  由 start  和 length  参数指定的子字符串。

submit($str,int start[,int length]):从$str中strat位置开始提取[length长度的字符串]。

strstr($str1,$str2):从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。

stristr() 功能同strstr,只是不区分大小写。

strrchr() 从最后一次搜索到的字符处返回;用处:取路径中文件名

3、替换字符串的PHP字符串函数

str_replace(search,replace,$str):从$str中查找search用replace来替换

str_irreplace(search,replace,$str):

strtr($str,search,replace):这个函数中replace不能为"";

substr_replace($Str,$rep,$start[,length])$str原始字符串,$rep替换后的新

字符串,$start起始位置,$length替换的长度,该项可选

4、字符长度

int strlen($str)

5、比较字符函数

int strcmp($str1,$str2):$str1&gt;=<$str2分别为正1,0,-1(字符串比较)

strcasecmp() 同上(不分大小写)

strnatcmp("4","14") 按自然排序比较字符串

strnatcasecmp() 同上,(区分大小写)

6、分割成数组的PHP字符串函数

implode(separator,array)函数把数组元素组合为一个用separator分隔的字符串

str_split($str,len):把$str按len长度进行分割返回数组

split(search,$str[,int]):把$str按search字符进行分割返回数组int是分割几次,后面的将不分割

expload(search,$str[,int])

7、去除空格:

ltrim、rtrim、trim

8、加空格函数

chunk_split($str,2);向$str字符里面按2个字符就加入一个空格;

9、chr、ord--返回指定的字符或ascii

10、HTML代码有关函数

nl2br():使\n转换为&lt;br>。

strip_tags($str[,'<p>']):去除HTML和PHP标记

在$str中所有HTML和PHP代码将被去除,可选参数为html和PHP代码作用是将保留

可选参数所写的代码。

如:echo strip_tags($text, '<br><p>');

htmlspecialchars($str[,参数]):页面正常输出HTML代码参数是转换方式

11、字符大小写转换的PHP字符串函数

strtolower($str) 字符串转换为小写

strtoupper($str) 字符串转换为大写

ucfirst($str) 将函数的第一个字符转换为大写

ucwords($str) 将每个单词的首字母转换为大写

12、数据库相关的PHP字符串函数

addslashes($str):使str内单引号(')、双引号(")、反斜线(\)与 NUL

字符串转换为\',\",\\。

magic_quotes_gpc = On 自动对 get post cookie的内容进行转义

get_magic_quotes_gpc()检测是否打开magic_quotes_gpc

stripslashes() 去除字符串中的反斜杠

<?php
//php字符串函数

//中文每个字符占2个字节,英文每个字符1个字节
//iconv_strlen()能识别中文和英文字符计算出字符串字节数
header('content-type:text/html;charset=utf-8');
$str1="中国你好";
$str2="hello";
//echo iconv_strlen($str1)."<br/>";//输出12
//echo iconv_strlen($str2);//输出5


//addslashes — 使用反斜线引用字符串 string addslashes  ( string $str  )
//使str内单引号(')、双引号(")、反斜线(\)与 NUL字符串转换为\',\",\\。
function PHP_slashes($string,$type='add')
{
    if ($type == 'add')
    {
        if (get_magic_quotes_gpc())
        {
            return $string;//如果magic_quotes_gpc开启了,就不对字符串进行转义
        }
        else
        {
            if (function_exists('addslashes'))
            {
                return addslashes($string);
            }
            else
            {
                return mysql_real_escape_string($string);//当要网数据库输入数据时,对字符串进行转义
            }
        }
    }
    else if ($type == 'strip')
    {
		//返回一个去除转义反斜线后的字符串(\' 转换为 ' 等等)。双反斜线(\\)被转换为单个反斜线(\)。 
        return stripslashes($string);
    }
    else
    {
        die('error in PHP_slashes (mixed,add | strip)');
    }
}
$str3="I can't tell you 'that'";
$str4= PHP_slashes($str3,$type='add');//$str4: I can\'t tell you \'that\'
$str5= PHP_slashes($str4,$type='strip');//$str5: I can't tell you 'that'


//implode(separator,array)函数把数组元素组合为一个用separator分隔的字符串
$arr=array('hello','world','beautiful','day');
$arr2=implode(' ',$arr);//$arr2="hello world beautiful day"
//var_dump($arr2);//string(25) "hello world beautiful day"

//explode(): array explode  ( string $delimiter  , string $string  [, int $limit  ] )使用一个字符串分割另一个字符串 
//此函数返回由字符串组成的数组,每个元素都是 string  的一个子串,它们被字符串 delimiter  作为边界点分割出来。 
$food="apple,pizza,fruit,water,bud";
$exp=explode(',',$food);//必须要有分隔符($exp);
//var_dump($exp);
//array(5) { [0]=> string(5) "apple" [1]=> string(5) "pizza" [2]=> string(5) "fruit" [3]=> string(5) "water" [4]=> string(3) "bud" }

//加上limit参数
$lim='one|two|three|four';
//print_r(explode('|',$lim,2));//Array ( [0] => one [1] => two|three|four )


//查找字符位置函数
//stripos — 查找字符串首次出现的位置(不区分大小写)
$find="who are you";
$ss="a";
//echo stripos($find,$ss);//4


//字符串替换
//str_replace(search,replace,$str):从$str中查找search用replace来替换
$strr="i will replace you";
//echo str_replace('you','her',$strr);//i will replace her

//substr_replace($Str,$rep,$start[,length])$str原始字符串,$rep替换后的新字符串,$start起始位置,$length替换的长度,该项可选
$var  =  'ABCDEFGH:/MNRPQR/' ;
echo  "Original:  $var <hr />\n" ;

 /* 这两个例子使用 “bob” 替换整个 $var。*/
 echo  substr_replace ( $var ,  'bob' ,  0 ) .  "<br />\n" ;
echo  substr_replace ( $var ,  'bob' ,  0 ,  strlen ( $var )) .  "<br />\n" ;

 /* 将 “bob” 插入到 $var 的开头处。*/
 echo  substr_replace ( $var ,  'bob' ,  0 ,  0 ) .  "<br />\n" ;

 /* 下面两个例子使用 “bob” 替换 $var 中的 “MNRPQR”。*/
 echo  substr_replace ( $var ,  'bob' ,  10 , - 1 ) .  "<br />\n" ;
echo  substr_replace ( $var ,  'bob' , - 7 , - 1 ) .  "<br />\n" ;

 /* 从 $var 中删除 “MNRPQR”。*/
 echo  substr_replace ( $var ,  '' ,  10 , - 1 ) .  "<br />\n" ;

 
 //提取子字符串
 //string substr  ( string $string  , int $start  [, int $length  ] )返回字符串 string  由 start  和 length  参数指定的子字符串。 
$strrr="I will work hard to earn more money";
echo substr($strrr,-5,5)."<br/>";//money,从倒数第5个字符开始截取5个字符
 
 //字符长度:int strlen($str)
 
 //字符串比较:strcmp($str1,$str2)如果 str1  小于 str2 ,返回负数;如果 str1  大于 str2 ,返回正数;二者相等则返回 0。 注意该比较区分大小写。
 echo strcmp('bcedsf','tear')."<br/>";//-1
 echo strcmp('tear','bcefdsf')."<br/>";//1
 echo strcmp('tear','tear')."<br/>";//0
?>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值