为了账号安全,请及时绑定邮箱和手机立即绑定

php字符函数的学习

标签:
PHP

<?php

header("<meta http-equiv=Content-Type content=text/html; charset=utf-8 />");

$name="akhdajdja";

echo strlen($name);//这个函数是按照字符串的字节长度大小进行计算的

$name="akhdajdja中国人";

echo strlen($name);//这个按照每个字符所占字节的大小计算长度中文在utf8中占三个字节

echo mb_strlen($name,"utf-8");//这个是宽字节支持每个字符不管占多少长度都为一

//查找字符串位置函数

$name1="ehello";

$str="e";

echo "<br>";

echo strpos($name1,$str);//判断字符所在的位置   第一个参数是查找的字符串  第二个参数是要查找的字符

if(false!==strpos($name1,$str)){//===这里要求不但数值要相同而且数值的类型也要一致

echo "字符里面已发现";

}

else{

echo "未发现字符";

}

echo "<br>";

echo isset($aaa);


$aaa="aaa";

if(isset($aaa)){

echo "aaa";

}

else{

echo "bbb";

}

echo "<br>";

//字符串替换函数这个是不忽略大小写

$str="涛jjjjj";

$name="涛";

$restr="***";

echo str_replace($name,$restr,$str);

echo $str=str_replace($name,$restr,$str);

echo "<br>";

//字符串替换函数这个是忽略大小写ignore

$str="涛JJJJJJjjjj";

$name="涛j";

$restr="**";

echo str_ireplace($name,$restr,$str);

echo "<br>";

echo strstr($str,"J");//打印匹配J后面的字符

echo "<br>";

echo stristr($str,"j");//忽略大小写

//获取文件的后缀名

$file="a.jpg.exe";

$str=strstr($file,".");

$str=strrchr($file,'.');//最右面出现.后面的内容

$str=substr($file,strrpos($file,'.'));

$tmp=explode($file,'.');

echo array_pop($tmp);

/*

http://www.sina.com/xxx.php

分析出后缀名是php

*/

$url="http://www.sina.com/xxx.php?id=3";

print_r(pathinfo($url));

pathinfo($file);

echo "<br>";


echo "<br>";

$var = 'ABCDEFGH:/MNRPQR/';

$resub="bob";

echo "Original: $var<hr />\n";

//替换全部

echo substr_replace($var,$resub,0);//可以根据字符串的位置进行替换

echo "<br>";

echo substr_replace($var,$resub,10,-1);

echo "<br>";

echo substr_replace($var,$resub,10,6);//这个会把后边的/截取掉  应该为10-- -1才能正确的截取

echo "<br>";

echo substr_replace($var,$resub,10,-1);

echo "<br>";

echo substr_replace($var,$resub,-7,-1);

//这个函数在截取的时候不能按照10-15来截取  并且截取的时候是从0开始计数的 右边也是从0开始计数的



//截取子字符串的函数

$str="hehejjjlll";

//这个函数有三个参数第一个是截取的字符串  开始位置 和 长度

echo substr($str,0); //如果参数不说明截至结尾

echo "<br>";

//第二个参数也可以是负数如果是负数则就往前数

echo substr($str,-6);

echo "<br>";

//第三个参数为正数则代表为截取的长度

echo substr($str,-6,2);

echo "<br>";

//第三个参数为负数 则代表截取的结束位置

echo substr($str,0,-6);

echo "<br>";

//注意起始位置应在结束位置左侧

//str_split 把$str 按照len长度进行分割返回数组

$str="1234567890";

$array=str_split(strrev($str),3);//1,234,567,890 strrev 字符串的反转函数

print_r($array);

echo "<br>";

//explode implode

//implode是把数组合并成字符串

echo "aaa";

echo $array=implode(',',$array);

echo "<br>";

//explode这个是把字符串分割成数组

$arr=explode(',',$array);

print_r($arr);

//空白处理函数

//trim可以处理两端的空白字符 或指定字符  注意处理两端

echo "~".$username=" 张三 "."~";

echo "~".trim($username)."~";

$cont="hehhe...hhe....";

echo "<br>";

echo trim($cont,'.');

//用trim过滤多个指定字符

$cont="!...aaaahelloskjs..!";

echo trim($cont,'!.')."s<br>";

//过滤英文字母也可以指定列表

$con="bb我又可以玩了啊aaaa.aaaaaaaaaaaaaaasdada";

echo "<br>".trim($con,'a..z');

//chunk_split 把字符串指定长度加入标记  隔几个长度加一个标识符

$num="1234567890";

$num=strrev($num);

echo $num=chunk_split($num,3,',');

echo trim($num,',');


//转义函数与sql攻击addslashes()字符转义函数

$username='aaaaaa';//在提交的时候对提交的数据进行转义 可以转移‘ "" \ null

//反转义函数stripsslashes在使用addslashes请注意系统有一个魔术引号的选项 如过选项盖起则会把$_post $_GET $_COOKIE $_SESSION 自动转义    php。50已经关闭默认转义

//如果魔术引号开启,¥——post过来的值自动转移 但是我们不知道魔术引号已开启还手动转义了一次

//如何解决 如果开启则不手动转义addslashes 如没开启在使用

//如何判断当前魔术引号开没开启  这个函数是看看魔术引号是否开启 get_magic_quotes_gpc()


if(get_magic_quotes_gpc()){

echo "魔术引号已经开启";}

else{

echo "魔术引号为开启我需要手动转移";

$username=$_GET['name'];

   $sql="select * from $username";

echo addslashes($sql);

}

/*

如果用户发布的内容直接显示在页面上 那么用户可能发表带有html代码甚至js代码的内容当用户浏览内容时 也有可能到来攻击

xss攻击用html实体转义

用htmlspecialchars吧重要的html转成实体

*/

$str="<script type=\"text/javascript\">alert('buxingle')</script>";

echo htmlspecialchars($str);

//encode 编码

//decode解码

//htmlspecialchars_decode把实体在转成html代码

echo "<br>";

echo $str='&lt;h1&gt;大标题&lt;/h1&gt;';

echo htmlspecialchars_decode($str);



//练习

echo "<br>";

$str="abcdef";//取出第一个字母并打印

echo substr($str,0,1);

//===是什么是举出一个==是真但是===是假的例子

echo "<br>";

$hello="ehello";

$search="e";

echo strpos($hello,$search);

if(false!==strpos($hello,$search)){

echo "找到了";

}

else{

echo"未找到";

}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消