字符串函数在开发中是必不可少的,函数太多,都背下来有点不可能,但是如果用到一个功能的时候也应该了解一下有哪个函数能实现,最起码脑子里要有印象,下面咱们开始学习一下php的字符串函数吧。记得脑子里要有印象哦!

<?php

/**
字符串函数学习
*/
//trim(字符串[,被删除的字母])删除字符串左右两边的空白
//ltrim()//删除字符串左边的空白
//rtrim()//删除字符串右边的空白
$_str = "   helloh world     ";
echo "++++++";
echo trim($_str,'hdelo ');
echo "------";
exit;

//str_replace(被替换内容,替换内容,字符串)字符串替换
//3.str_replace(arr, arr, str);
$_str = "today,is,thursday,and,I,am,happy";
$arr1 = array('today','is');
$arr2 = array('tommorow','was');
echo str_replace($arr1, $arr2, $_str);
exit;
//2.str_replace(arr, str, str);
$_str = "today,is,thursday,and,I,am,happy";
$arr = array('today','is');
echo str_replace($arr, 'tommorow', $_str);
exit;
//1.str_replace(str,str,str)
$_str = "today,is,thursday,and,I,am,happy";
echo str_replace('today','tommorow',$_str);
exit;

//substr(目标字符串,开始位置,长度)截取字符串【字符串最重要的函数】
//左边从0开始找
//右边从-1开始找
$_str = "today,is,thursday,and,I,am,happy";
//echo substr($_str, 9, 8);//thursday
//echo substr($_str, -9, 8);//,am,happ
//echo substr($_str, -9, -8);//,
//echo substr($_str, 9, -8);//thursday,and,I,
echo substr($_str, 9, -24);
exit;

//implode([分隔符,]数组)将数组元素合并为一个字符串
$_arr = array('a','b','c');
echo implode('-', $_arr);
exit;
//explode(分隔符,字符串)//将字符串以指定内容为分割,拆分为小的信息单元,并组成数组返回
$_str = "today,is,thursday,and,I,am,happy";
print_r(explode(',', $_str));
exit;

/**
字符串定义
字符串定义:单引号、双引号、定界符
单引号:\' \\
双引号:\$ \n \r \t " \\  \[ \{
定界符:<<<eof
定界符内容
eof;
*/
$abc = <<<eof
<script type="text/javascript">
alert("this is ok");
</script>
eof;
echo $abc;
exit;

$string = "\$he\nll\ro w\tor\"l\\d";
echo $string;
exit;

$_str = 'hello\' wor\\ld';
echo $_str;
//echo "$_str";//是否有转移"$"符号
?>

<?php
header("content-type:text/html;charset=utf-8");
/**
字符串函数学习
*/
//格式化输出函数printf
//sprintf()
//两者区别
/*
function aa(){
echo "printf";
}
function cc(){
return "sprintf";
}
*/
//printf/sprintf %b %d %c %x %s %f %X
//printf("%b", 10);//整数转换为二进制代码
//printf("%d", 10);//整数
//printf("%c", 65);//将整数转换为对应的ascII码
//printf("%x", 20);//将整数转换为16进制数
//printf("%s",'abde');//输出字符串
//printf("%.2f",34.56789);//输出浮点数
//printf("%X", 15);//F
//printf("%x", 15);//f
$_str =  sprintf("%x", 15);
exit;

//htmlspecialchars()将html代码转换为实体代码
//&nbsp;
//echo '&nbsp;';
echo htmlspecialchars("<a href='./string3.php?username=张三&sex=男'>next</a>");
echo "<hr>";
echo "&lt;a href='./string3.php?username=张三&amp;sex=男'&gt;back&lt;/a&gt;";
exit;

//parse_str(str, out)解析【请求字符串】变为数组
//请求字符串:username=张三&sex=男
$_str = "username=张三&sex=男";
parse_str($_str, $out);
print_r($out);
exit;

//parse_url(str)解析完整的url转变为为数组
//$_urla = "http://www.sohu.com/2011/4/abc.php";
//$_urla = "http://www.google.com/2012/4/abc.php";
$_urla = "http://www.hotmail.com/201d/4/abc.php";
$_arr2 = parse_url($_urla);
echo $_arr2['host'];
exit;

//urlencode()对域名部分进行编码,编码的样子是%后边跟两位16进制数。
//对字母、数字、_-.不编码,空格给编码为"+"
//urldecode()对编码的内容进行反编码
echo urldecode('%E5%BC%A0%E4%B8%89');
exit;
$name = urlencode('张三'); //%E5%BC%A0%E4%B8%89
$sex  = urlencode('男');  //%E7%94%B7
echo "<a href='./string3.php?username=$name&sex=$sex'>next</a>";
exit;

/*
strcmp(str1, str2)比较两个字符串大小,
返回负数表示 str1 小于 str2;
返回正数表示 str1 大于 str2;
返回零表示二字符串相同
*/
$_str1 = "abcd";
$_str2 = "abcc";
echo strcmp($_str1, $_str2);
exit;

//strtr()字符串翻译函数
//2.strtr(字符串,翻译数组)
$_str = "hello world";
$_arr = array('hello'=>'today', 'world'=>'china');
echo strtr($_str, $_arr);
exit;
//1.strtr(字符串,被翻译内容,翻译内容);
$_str = "hello world";
echo strtr($_str,'ol','az');
exit;

$_str = "hello world";
//echo ucfirst($_str);//字符串首字母大写
//echo ucwords($_str);//字符串每个单词首字母大写
//echo strlen($_str);//获得字符串长度
exit;

//strpos(字符串,寻找内容[,屏蔽位置])获得指定字符串第一次出现的位置【positon】
//strrpos()获得指定字符串最后一次出现的位置【positon】
$_str = "I,go,to,school,for,studay,good,good,study,day,day,up";
echo strpos($_str, ',', 7);//1  7
//echo strrpos($_str, ',', -10);//49
exit;

//strrchr(str, search);获得指定字符串最后一次出现到字符串最后的内容
$_str = "I,go,to,school,for,studay,good,good,study,day,day,up";
echo strrchr($_str, ',');//,up
exit;

//strstr(str, search)获得指定字符串最开始出现到字符串最后的内容
//strchr()是strstr的别名
$_str = "I,go,to,school,for,studay,good,good,study,day,day,up";
//,go,to,school,for,studay,good,good,study,day,day,up
echo strchr($_str, ',');
?>