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>=<$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转换为<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
?>