分割查询,替换字符串
<?php
header("Content-type:text/html;charset=utf-8");
//分割查询和替换语句(1)。
//substr — 返回字符串的子串
//start如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 "abcdef" 中,在位置 0 的字符是 "a",位置 2 的字符串是 "c" 等等
//注意:需要加上读取的位置,不然就报错了。
$num=substr('123456',2);//换字母也是一样的。
echo $num;
echo '<hr>';
//如果是中文:一个中文占3个字节。所以要写15
$i=15;
$CH=substr('我想从这里第字开始取句话',$i);
echo $CH;
echo '<hr>';
//可以是正数,也可以是负数。负数就反过来数,也可以选择打印多少个字节。
$K=-18;
$CN=substr('我是一句中文汉字语句',$K,15/**选择打印多少个字节 */);
echo $CN;
echo '<hr>';
//substr_count — 计算字串出现的次数
$news='考古人员正在山东济南老城区高都司巷小学遗址考古工地开展分析整理工作。该现场发掘面积约200平方米,出土了多组清末民初建筑遗迹,这对了解清末民初老城区民居房址的建造方式和功能结构及其与泉池的关系具有重要的意义';
$need='这';
$tj=substr_count($news,$need);
echo $tj;
echo '<hr>';
//substr_replace替换字符串的子串
$a='c++';
switch($i=$a){
case $i='aspx':
$k='html' and $v=4;
break;
case $i='c++':
$k='php' and $v=3;
break;
case $i='c#':
$k='asp' and $v=2;
break;
case $i='php':
$k='java' and $v=3;
break;
case $i='NET':
$k='VB' and $v=3;
break;
default:
$k=0;
}
//echo $i;
//说明:(“1,等待替换的字符串”,“$将要进行替换的字符串”,0表示替换第几个开始也可以是负数),$表示你替换几个字符)
$arr=substr_replace("$i,js,css","我的课程是:$k",0,$v);
echo $arr;
echo '<hr>';
//implode将一个一维数组的值转化为字符串
$arr=['id','name','age','email'];
$res=implode(',',$arr);
echo $res;
echo '<hr>';
//str_split — 将字符串转换为数组
//数组不能是中文,否则输出乱码。$str='我是一个字符串';
$str1='My is tom';
$arr1=str_split($str1);
printf('<pre>%s<pre>',print_r($arr1,true));
//echo $arr1;
//echo '<br>';
//可以给定多少个字符为一个数组
$str2='My is tom';
$arr2=str_split($str2,3);
printf('<pre>%s<pre>',print_r($arr2));
//echo $arr2.'<br>';
echo '<hr>';
//str_getcsv — 解析 CSV 字符串为一个数组
//简单理解:
$str="白云,蓝天,大海,大山,野草";
$arr=str_getcsv($str);
print_r($arr);
//printf('<pre>%s</pre>',print_r($arr,true));
$res= print_r(str_getcsv('1,2'),true);
printf('<pre>%s</pre>',$res);
echo '<hr>';
//file_get_contents — 将整个文件读入一个字符串
//注意:此函数可以读取.csv文件,也可以打开网站。txt可能会显示乱码
//简单理解:
$word=file_get_contents('test.csv');
//$word=file_get_contents('https://baidu.com/');
print_r($word);
echo '<br>';
//说明explode("字符串中于什么类型来分割(如:my,is就于,为分割点)")
$p=explode(",",$word);
$arr=print_r($p,true);
printf('<pre>%s</pre>',$arr);
echo "<br>";
$a='pa1,pa2,pa3';
$b=explode(',',$a);
print_r($b);
echo '<hr>';
//str_pad — 使用另一个字符串填充字符串为指定长
$txt='我是来填充你空格的,';
$a='hello';
//说明:str_pad('显示',“填上需要插入多少个字节(包括$a本身)”,$插入的数据,需要往左还是往右或者从中间两侧插入。)
echo str_pad($a,33,$txt,STR_PAD_LEFT);
echo "<br>";
echo str_pad($a,63,$txt,STR_PAD_BOTH);
echo' </br>';
echo str_pad($a,33,$txt,STR_PAD_RIGHT);
ECHO '<HR>';
//str_replace — 子字符串替换
//text是设置非链接的文字的颜色,替换完,等于是把整个body的颜色设置红色
$body=str_replace("%body%",'red',"<body text='%body%'>");
echo $body;
echo '<br>';
//还是不懂。
//$vowels=[1,2,3,4,5,6];
$vowels=["a","b","c","d"];
$only=str_replace($vowels,"*","hello");
echo $only;
echo '<hr>';
//测试下字体替换;
$word="众所周知,娱乐圈里面美女如云,所以竞争力还是非常大的。如果只是靠颜值的话,其实在娱乐圈是不占有很大的优势的。要想在娱乐圈长期生存,靠的还是实力";
//可以实现自定义敏感词替换功能
$arr=['娱乐',"的"];
$shield="*";
$final=str_replace($arr,$shield,$word,$count);
echo $final;
echo '<br>';
echo "替换了:$count 次";
echo '<br>';
$word="西游记是四大名著之一,讲述的主要是唐僧师徒四人一起去西天取经的故事,我们从影视作品都看到这些了,当然里面人气最高的肯定是孙悟空了,但孙悟空尽心尽力的保护着唐僧,唐僧却好几次不分是非,误会悟空,导致悟空离开好几次。悟空一般杀的都是妖精,但是他也杀过一次凡人就是,一次出现了六个强盗挡住领了西天取经的退路";
//也可以实现自定义数组敏感词替换;
$sensi=["西游","悟空"];
$shield=["**","//"];
$final=str_replace($sensi,$shield,$word,$count);
echo $final;
echo "<br>总共替换了:$count 次";
获取/解析/接受字符串
<?php
//strlen — 获取字符串长度
$word=" 话说神话中的人物都非常伟大,他们在人类社会立下了赫赫战功,特别是面对殷商的时候,后面都成为天庭的一分子。而在《非人哉》中都是由神话人物组成的一部漫画,他们来到人类世界生活,自然要变成人类的样子。不过有一次唐僧师徒到敖烈家里做客,不过他表现得有点过了。原来孙大圣还是这样的遭遇,面对敖烈强烈的追求,孙大圣只想要忘记一切 。 ";
echo strlen($word),'<br>';//总字符长度:484(包括空格)
//trim — 去除字符串首尾处的空白字符(或者其他字符);
echo strlen(trim($word)),'<br>';//去除头部和尾部的空格剩余长度:480
//ltrim — 删除字符串开头的空白字符(或其他字符)
echo strlen(ltrim($word)),'<br>';//去除头部空格剩余长度:482
//rtrim — 删除字符串尾部的空白字符(或其他字符)
echo strlen(rtrim($word));
echo '<hr>';
//去除xx位置的xx字符(包括空白)
$title="唐僧前九世都被吃了,为何第十世如此命硬,你看他的帽子下有啥";
//这里如果头尾字符不一样,则会出现口口.最好头尾字符都一样。
echo trim($title,'有啥');
//ltrim和rtrim同样。
echo '<hr>';
//用户密码MD5;
$pass=MD5('123456');//32位加密
echo $pass;
echo '<br>';
//MD5复杂程度可以相互嵌套:
$pass=MD5(MD5('123456'));
echo $pass;
echo '<hr>';
//strip_tags — 从字符串中去除 HTML 和 PHP 标记
//简单理解:
$body="<p>我是一个标签</p><!--这里是一个内容--><a href='/index.php'>首页</a>";
//<p><a>表示保留并解析。
$bo=strip_tags($body,'<p><a>');
echo $bo;
echo '<hr>';
//parse_str — 将字符串解析成多个变量
//暂时理解为:提交数GET请求用可以接受指令
$url="http://baidu.com/index.php?&id=12&name=admin&pass=123456";
//开始解析$url,接受到一个变量$urlArr里面去
parse_str($url,$urlArr);
//var_dump($urlArr['id']);
//下面分别输出提交过来的数据
echo $urlArr['id'];
echo $urlArr['name'],'<br>';
echo $urlArr['pass'],'<br>';
echo '<hr>';
//parse_url — 解析 URL,返回其组成部分
//比如:http为一部分,baidu.com为一部分,index.php为一部分,后面提交了什么什么又是一部分。
$url='http://baidu.com/index.php?id=11&name=admin&pass=123';
$arrUrl=parse_url($url);
// echo $arrUrl;
printf('<pre>%s</pre>',print_r($arrUrl,true));
echo '<hr>';
//http_build_query — 生成 URL-encode 之后的请求字符串
//意思就是可以使用数组的数据生成一条字符串提交
$data=['id'=>11,'name'=>'admin','pass'=>123];
$urlStr=http_build_query($data);
echo $urlStr;
echo '<br>';
//这里没搞明白,后面写不写结果都是那样,为什么还要写?
echo http_build_query($data, '', '&');
//输出结果:id=11&name=admin&pass=123
echo '<hr>';
//file_get_contents — 将整个文件读入一个字符串
//base64_encode — 使用 MIME base64 对数据进行编码(等同于加密字符串)
$url='my name is jon';
echo base64_encode($url);
echo $url;
echo '<hr>';
//试下图片
$img=file_get_contents('psb.png');
$base=base64_encode($img);
//将图片编码之后再通过html输出,可以减少http对服务器的资源
echo "<img src='data:image/>png;base64,$base'>";
//base64_decode — 对使用 MIME base64 编码的数据进行解码
//file_put_contents — 将一个字符串写入文件
//不清楚下面干嘛用
// file_get_contents('psb.png',base64_decode($base));
// echo "<img src='psb.png'>";
总结:当时写的时候大部分能理解到,几秒钟时间就忘记了,鱼的记忆!!还是要多敲代码,熟能生巧吧。