最新文章
Latest ArticlesPHP编程之字符串处理(第4期)
发布时间:2015/07/26 编程语言 标签:ENT_COMPATENT_NOQUOTESENT_QUOTEShtmlentitieshtmlspecialcharshtmlspecialchars_decodeparse_urlurldecodeurlencode字符串的解析将字符串转化为HTML实体化浏览次数:370 欢迎阅读!
1、字符串的解析
2、将字符串转化为HTML实体化
1、字符串的解析
parse_url 解析url,返回其组成部分
urlencode url 编码
urldecode 解码已编码的内容
<?php
$url=parse_url=”http://faceours.com//index.php?name=wangwang”;
$arr=parse_url($url);
echo “<br/>”;
print_r($arr);
/*
运行结果:
array
(
[scheme]=>http
[host]=>owing.cn/index
[path]=>/index.php
[query]=>name =wangwang
)
*/
echo “<br/>”.parse_url($url,PHP_URL_HOST);
$str=” owing.cn博客”;1、字符串的解析 2、将字
echo “<a href=’2.php?h=”.$str1.”’a>owing.cn博客</a>”;
echo $_GET[‘h’]; //运行结果:owing.cn博客
/*
$str1=” owing.cn博客&PCR实验讲解”; //如果这里在变量中加了&符号,&符号后面的部分就被当成变量了,这时就要用到URL编码
echo “<a href=’2.php?h=”.urlencode($str1).”’a>owing.cn博客</a>”;//对变量$url1进行URL编码后运行,变量参数$ur1才能被正常接收
echo $_GET[‘h’]; //运行结果:owing.cn博客
*/
/*
$str2=”owing.cn博客”
echo urlencode($str2);
echo “<br/>”;
echo urldecode(urlencode($str2));
*/
2、将字符串转化为HTML实体化
htmlentities 将字符串转化为HTML实体(把所有的内容进行转换),可以传递三个参数;转换的同时会执行传递的代码(此为缺点)
参数1:操作内容
参数2:转换规则 ENT_COMPAT 只转换成双引号 (不写的默认选项也是它)
ENT_QUOTES(转换单双引号) ENT_NOQUOTES(不转换任何引号)
htmlspecialchars 将传递的内容实体化转换(转化强度比上一个函数弱一些,不转换中文),参数和上一个的参数一样;转换的同时不会执行传递的代码(此为优点)
htmlspecialchars_decode() 为htmlspecialchars的反函数,将已被实体化转换的内容转换回来(相当于有执行传递的代码的功能),将已转化为HTML的内容转换为字符串
<?php
$str4=”<h1>www.owing.cn</h1>”;
echo $str4; //运行结果为:www.owing.cn
echo htmlentities($str4); //运行结果为:<h1>www.owing.cn</h1>【注意此时的htmlectities不能对变量里的中文字符进行转换,会出乱码,对于中文字符需要用到htmlspecialchars】
/*
<?php
$str4=’www.owing.cn”VIP”‘;
echo $str4; //运行结果为:www.owing.cn
echo htmlentities($str4); //运行后的HTML代码为:www.owing.cn”VIP”www.owing.cn"VIP"
echo htmlentities($str4,ENT_COMPAT); //运行后的HTML代码为:www.owing.cn”VIP”www.owing.cn"VIP&q uot;运行结果和上一行相同
*/
/*
<?php
$str4='<h1>www.owing.cn好好用的博客</h1>’;
echo $str4; //运行结果为:www.owing.cn
echo htmlentities($str4); //运行此行代码时变量$str4中的中文部分就会变成乱码显示出来,不被正确解析
echo htmlspecialchars($str4);//运行此行代码时变量$str4中的中文部分就不会变成乱码显示出来,变量中的中文能被正确解析
*/
echo $_get[‘uname’];//运行后,这个时候如果传递的内容为代码将会被浏览器执行,没有被实体化转换
echo htmlspecialchars($_get[‘uname’]);//运行后,这个时候如果传递的内容为代码将不会被浏览器执行,传递的内容已被实体化转换,传递什么就在浏览器端显示什么
$str5=htmlspecialchars($_get[‘uname’]);//运行结果同上
echo $str5;
<form action=” method=”get”>
输入姓名:<input type=”text” name=”uname”><br/>
<input type=”submit” value=”提交”、>
</form>
上一篇: PHP编程之字符串处理(第5期)
下一篇: PHP编程之字符串处理(第3期)