以前懵懵懂懂的看过,没怎么在意,现在总结一下

一般来说,像留言板之类的content,用这样的就够了:

$content=addslashes(htmlspecialchars($_POST['content']));

htmlspecialchars:这个函数在php里面是这样说明的:

把“&”变成&

把“"(双引号)”变成"

把“'(单引号)”变成'

把“<”变成&lt;

把“>”变成&gt;

下面是一个例子:

<?php

$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);

echo $new; // &lt;a href='test'&gt;Test&lt;/a&gt;

?>

ENT_NOQUOTES 在这里是一个字符集设置(chartset);

addslashes这个东西是这样用的:返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。总的说,就是转义字符啦。

还原空格与回车这样做:

$content=ereg_replace("\n","<br>",ereg_replace(" ","&nbsp;",$content));

函数ereg_replace ( string pattern, string replacement, string string ) 就是吧string中含有pattern字符串的部分替换为replacement字符串。

说到这里,也应该够用了。但网上还有其他的方法或者辅助的方法,那就搜罗一下:

strip_tags:消除html和php标签,也就是去掉如<a><table>之类的东西,可以设置排除不消除的标签,在第二个参数那里设置,如strinstrip_tags($text, '<p>');就是排除了<p>标签,所以遇到p标签时,它并不会去除掉p标签。

trim()清除掉前端和末尾的不可见字符:第二个参数(特指要删除某个字符)可选,如果没有,则删除所有的包含一下的前端末尾字符

"\0" - NULL

"\t" - tab

"\n" - new line

"\x0B" - 纵向列表符

"\r" - 回车

" " - 普通空白字符

顺便提一下intval,它将可能的字符串转换成数字,不过对于弱类型的php来说,不是很必要的。

收藏于 2009-02-23
来自于百度空间

php与html代码的若干转换的更多相关文章

  1. 编写高性能Javascript代码的若干建议

    多年来,Javascript一直在web应用开发中占据重要的地位,但是很多开发者往往忽视一些性能方面的知识,特别是随着计算机硬件的不断升级,开发者越发觉得Javascript性能优化的好不好对网页的执 ...

  2. 有一个字典对象,d = {'a':1,'b':2},请用尽量简洁的代码将d转换成{1: 'a', 2: 'b'}

    题目:有一个字典对象,d = {'a':1,'b':2},请用尽量简洁的代码将d转换成{1: 'a', 2: 'b'} 第一种方法: d = {'a': 1, 'b': 2}d = {value: k ...

  3. Android 之px于dp在Java代码中的转换

    现在由于用到了,使用代码进行动态布局,所以需要进行px于dp之间的转换. 现将其封装为方法,以便于调用. public int DpToPx(Context context,float dp){ fl ...

  4. PHP日期操作类代码-农历-阳历转换、闰年、计算天数等

    <?php class Lunar { var $MIN_YEAR = 1891; var $MAX_YEAR = 2100; var $lunarInfo = array( array(0,2 ...

  5. Java实现图片压缩代码,图片大小转换

    在很多项目中我们会把上传的图片做处理,比较图片上传过多对服务器的容量和带宽有很多的浪费,如果不是必须的高清图片,我们可以通过代码来做压缩.在我的项目中我们压缩图片的目的是让web页面打开的速度很快,并 ...

  6. Xamarin 小试牛刀 通知栏消息通知和按钮(基于Java代码人肉转换)

    本示例基于网友现有安卓项目人肉翻译,在Xamarin中替换和修改了很多方法的命名,比如某些属性需要去掉getName的get前缀, 有些方法名称需要使用Pascal命名法替换Java的Camel 命名 ...

  7. Java性能优化之高性能JAVA代码的若干个习惯

    创建对象: 1.避免在循环体中创建对象,循环前应该创建对象,避免浪费更多内存空间和增加GC负担 这种情况在我们的实际应用中经常遇到,而且我们很容易犯类似的错误,例如下面的代码: for (int i ...

  8. InputStreamReader介绍&代码实现和转换文件编码_练习

    InputStreamReader介绍&代码实现 package com.yang.Test.ReverseStream; import java.io.FileInputStream; im ...

  9. java代码把字母转换大小写、、、、

    总结:从键盘输入多少次,就用for循环控制.这些需要输入的数据都放在循环内部,否则不会执行多次. package com.aaa; import java.util.Scanner; //大小写字母的 ...

随机推荐

  1. TP3.23 与Laypage 结合进行分页

    demo地址:http://tp.ytlwin.top 控制器 <?php namespace Home\Controller; use Think\Controller; class Inde ...

  2. artTemplate/template.js模板将时间格式化为正常的日期

    网上提供的方法用不了 自己琢磨的 注意:ajax的异步方式必须设置成true才行,false不起作用.async: true: <script> function timestamp (v ...

  3. feign的hystrix不起作用.

    在springCloud中使用feign内嵌的断路器hystrix时.feign中的hystrix不起作用.这可能是由于springCloud的版本原因造成的.需要在application.prope ...

  4. Linux下查看编辑二进制文件:hexedit神器

    1.如果没有hexedit安装hexedit:2.打开终端输入hexedit filename;3.打开即可用键盘输入字符,用方向键移动,ctrl+w保存,ctrl+x退出:4.详细用法 man he ...

  5. 查看linux发行版版本

    可以通过查看/etc/issue文件查看发行版版本号,不论系统是redhat\suse\debian

  6. Unity3D游戏贪吃蛇大作战源码休闲益智手机小游戏完整项目

    <贪吃蛇大作战>一款休闲竞技游戏,不仅比拼手速,更考验玩家的策略. 视频演示: http://player.youku.com/player.php/sid/XMzc5ODA2Njg1Ng ...

  7. 关于客户端调用后台事件__doPostBack函数的使用

    1.   动态添加生成的控件:Asp.net开发网站,最喜欢用的就是使用服务器控件,在后台进行数据操作了,你无需再去管get还是post提交,也不用去理会form,只需在后台服务器控件的事件中就可以对 ...

  8. swift 4.2 - 根据字符串 push指定控制器

    俩个方法 1. 创建类写成 类方法 import UIKit /* * 注释:获得VC * 1.字符串 和使用的控制器,直接跳转 * 2.用过字符串获得对应VC */ class JYGetPushV ...

  9. swift - 启动APP 黑屏

    https://blog.csdn.net/chengkaizone/article/details/50478045

  10. SHA1加密工具

    package com.wx.project.util; import java.security.MessageDigest; /* * sha1 加密算法 * 网上copy 一大堆 */ publ ...