php与html代码的若干转换
以前懵懵懂懂的看过,没怎么在意,现在总结一下
一般来说,像留言板之类的content,用这样的就够了:
$content=addslashes(htmlspecialchars($_POST['content']));
htmlspecialchars:这个函数在php里面是这样说明的:
把“&”变成&
把“"(双引号)”变成"
把“'(单引号)”变成'
把“<”变成<
把“>”变成>
下面是一个例子:
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
ENT_NOQUOTES 在这里是一个字符集设置(chartset);
addslashes这个东西是这样用的:返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。总的说,就是转义字符啦。
还原空格与回车这样做:
$content=ereg_replace("\n","<br>",ereg_replace(" "," ",$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来说,不是很必要的。
php与html代码的若干转换的更多相关文章
- 编写高性能Javascript代码的若干建议
多年来,Javascript一直在web应用开发中占据重要的地位,但是很多开发者往往忽视一些性能方面的知识,特别是随着计算机硬件的不断升级,开发者越发觉得Javascript性能优化的好不好对网页的执 ...
- 有一个字典对象,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 ...
- Android 之px于dp在Java代码中的转换
现在由于用到了,使用代码进行动态布局,所以需要进行px于dp之间的转换. 现将其封装为方法,以便于调用. public int DpToPx(Context context,float dp){ fl ...
- PHP日期操作类代码-农历-阳历转换、闰年、计算天数等
<?php class Lunar { var $MIN_YEAR = 1891; var $MAX_YEAR = 2100; var $lunarInfo = array( array(0,2 ...
- Java实现图片压缩代码,图片大小转换
在很多项目中我们会把上传的图片做处理,比较图片上传过多对服务器的容量和带宽有很多的浪费,如果不是必须的高清图片,我们可以通过代码来做压缩.在我的项目中我们压缩图片的目的是让web页面打开的速度很快,并 ...
- Xamarin 小试牛刀 通知栏消息通知和按钮(基于Java代码人肉转换)
本示例基于网友现有安卓项目人肉翻译,在Xamarin中替换和修改了很多方法的命名,比如某些属性需要去掉getName的get前缀, 有些方法名称需要使用Pascal命名法替换Java的Camel 命名 ...
- Java性能优化之高性能JAVA代码的若干个习惯
创建对象: 1.避免在循环体中创建对象,循环前应该创建对象,避免浪费更多内存空间和增加GC负担 这种情况在我们的实际应用中经常遇到,而且我们很容易犯类似的错误,例如下面的代码: for (int i ...
- InputStreamReader介绍&代码实现和转换文件编码_练习
InputStreamReader介绍&代码实现 package com.yang.Test.ReverseStream; import java.io.FileInputStream; im ...
- java代码把字母转换大小写、、、、
总结:从键盘输入多少次,就用for循环控制.这些需要输入的数据都放在循环内部,否则不会执行多次. package com.aaa; import java.util.Scanner; //大小写字母的 ...
随机推荐
- mysql创建用户和库
先用root登陆mysql,然后运行下面代码创建mysql用户和库 下面创建的帐号:test123 密码:123456 库名:test123 CREATE USER '; GRANT USAGE ...
- JIT物料在途未清PO作为供给
以下是本应在TEMP中处理,目前是写到FP_CHECK_SAP_DATA中 ----JIT物料在途未清PO作为供给 add by landor on 20180809 INSERT INTO SAP_ ...
- django models实际操作中遇到的一些问题
问题1.将主键id改成自动生成的python3 manage.py migrate时报下面的错误 django.db.utils.InternalError: (1091, "Can't D ...
- 能判断是电脑端还是手机端的javascript
<script language="javascript"> //平台.设备和操作系统 var system ={ win : false, mac : false, ...
- K-邻近算法简单例子
from numpy import * import operator import matplotlib.pyplot as plt def creatDataset(): group = arra ...
- NumPy 切片和索引
NumPy 切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样. ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以 ...
- 关于MySQL数据库的备份方案
这里简单总结MySQL的备份分为3种:分为冷备份,逻辑备份,热备份. 1.冷备份: 一般主要用于非核心业务,这类业务一般都是允许业务中断的,冷备份的特点就是数度快,恢复时也最为简单.通常直接复物理文件 ...
- H5入门
1.基本骨架 <!DOCTYPE html> <html> <head><title>标题</title><meta charset= ...
- DES对称加密
DES是对称性加密里面常见一种,全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法.密钥长度是64位(bit),超过位数密钥被忽略.所谓对称性加密,加密 ...
- UVa 1103 Ancient Messages(二重深搜)
In order to understand early civilizations, archaeologists often study texts written in ancient lang ...