时间:2021-07-01 10:21:17 帮助过:31人阅读
输出怎么办 可以用2个函数结合起来用 我已经说过的
strtolower()
strtoupper()
ucfirst()
ucword()
HTML标签相关的字符串格式化函数
代码如下:输出怎么办呢
nl2br()
htmllentities()
htmlspecialchars()
stripslashes()
strip_tags()
number_format()
strrev()
md5()
在php中所有字符串处理函数 ,都不是在原字符串上修改,而是返回一个新格式化后的字符串
代码如下:结果为 i love \'jb51\'反斜杠转义了
<?php
//转换成小写
$a='www.gxlcms.com';
echo strtolower($a);
//结果:www.gxlcms.com
//转换成大写
$a='www.gxlcms.com';
echo strtoupper($a);
//结果:WWW.jb51.net
//首字母大写
$a='www.gxlcms.com';
echo ucfirst($a);
//结果:Www.jb51.net
//每个单词首字母大写
$a='i love you';
echo ucword($a);
//结果:I Love You
/*
提示:大家都知道大小写,认为小写和大写有区别吗,但是为什么要区分大小写呢
在win系统下php大小写不严格 但是在linux系统下就严禁拉 大小写不能乱写
比如
在自动加载类的时候
<?php
function _autoload($className){
include strtolower($className).'.class.php';
}
$obj= new MyClass;
这样就加载myclass.class.php
因为文件名常是小写那么必须转换小写
?>
*/
//nl2br把空格转换成实体<br/>因为一般在浏览器里显示的换行都是<br/> 例如在表单留言本里必须要转换不然折行不成功 再多的空格都任务是一个空格
$a='
i
love
you
';
echo $a;
echo nl2br($a);
结果1:i love you
结果2:
i
love
you
//表单提交如果你不进行html标签处理那么就会直接显示样式或者js代码直接运行
/*
<form>
<input type='text' name='title'>
<input type='submit' name='submit' value='提交'>
</form>
当你输入
<H1>www.gxlcms.com<H1>
一提交就出现是一号大字体
但是你原来是想要
<H1>www.gxlcms.com<H1>结果的
所以要处理下
当输入<script>alert('www.gxlcms.com')</script>
一提交就会运行javascript
这样不好 必须处理下来防止黑客找到你攻击的入口
表单默认提交方式是get
*/
//当你输入<div><h1>www.gxlcms.com</h1></div>
echo htmlspecialchars($_GET['title']);//过滤了
结果:<div><h1>www.gxlcms.com</h1></div>
其他查看源码就知道< 和 >已经被替换了成< >就会在页面原型显示
还有一点要主要 如果不处理<div >有的复制的文章自身有标签样式就会打乱你的页面布局 可能css冲突
htmllentities()函数用户和htmlspecialchars()相反用法就不说了
当你需要那个标签留着可以用到strip_tags()函数
echo strip_tags($_GET['title'],'<b><p><strong><h1>');
提交结果是你查看源码 就会发现<div>没有了
/*
加入输入i love 'jb51';
提交
那么我要想原文
可以用这个php函数stripslashes()
取消转义
echo stripslashes($_GET['title']);
结果是i love 'jb51';
如果含有html标签呢如这种
<a href="//www.gxlcms.com/">i love 'jb51'</a>
我要原型