POST 需要escape的符号 求救啊,就像这个csdn,我不管发什么内容的帖子,都是正确无误的显示,肯定有人能够帮我啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想我要做的是:对一切用户提交的文本内容,做如下处理:凡是html的特殊东西,比如< >都干掉为< >凡是',",(,)都用转义;总之,能将任意文本插入数据库;能显示为普通文本。 一切功能性的字符全部作为普通字符。请大家帮忙啊。这应该是php的一个基本东西啊 搞了一个函数,希望大家补充。//去除字符串中的功能性字符,包括html中的<,>(用<>代替),//',",\,用转义字符代替。//基本要求:能够把结果正确插入数据库,也能正确导出。//能够作为纯文本插在html中function getTextFromString($str){ if (!get_magic_quotes_gpc()) $str = addslashes($str); //代替html的< >为< $gt; $str=str_replace("<","<",$str); $str=str_replace(">",">",$str); return $str;} 用$str = $conn->qstr($str)处理一下,应该是字符串中的功能性字符,导致的错误(就像楼上说的) function safe_convert($d) { $d = str_replace("\t","",$d); $d = str_replace("<","<",$d); $d = str_replace(">",">",$d); $d = str_replace("\r","<br>",$d); $d = str_replace("\n","",$d); $d = str_replace("|","│",$d); $d = str_replace(" "," ",$d); return $d;}$d为你所指的contents 如果只是想输入什么就在页面里显示什么的话$str=str_replace("<","<",$str);就足够了,而只经过这一个,就可以直接放到数据库里了不用addslashes处理 Mistruster(弱智d):如果不用addslashed的话,是有可能不能插到数据库的因为php.ini中不一定开放了特殊字符的自动转义功能。 用这个函数处理一下,应该可以了。function safe_convert($d) {$d = str_replace("\t","",$d);$d = str_replace("<","<",$d);$d = str_replace(">",">",$d);$d = str_replace("\r","<br>",$d);$d = str_replace("\n","",$d);$d = str_replace("|","│",$d);$d = str_replace(" "," ",$d);return $d;} 一个正则问题 求助:mysql 4.0.27 不支持这样的语句? PHP 问题请教 为什么这两总查询条件提交方式的到的返回结果不一样 base64_decode乱码 对这几个概念一直不明确,TCP/IP,SMTP,POP3 如何从一个表中选出不同类型的各两个? 请问php中session的用法 让我3天转向php? php 发邮件问题 为什么偶的phped3.2打开一会就自动关闭了呢? 定义常量还是定义变量?
对一切用户提交的文本内容,做如下处理:
凡是html的特殊东西,比如< >都干掉为< >
凡是',",(,)都用转义;总之,能将任意文本插入数据库;能显示为普通文本。 一切功能性的
字符全部作为普通字符。请大家帮忙啊。这应该是php的一个基本东西啊
//',",\,用转义字符代替。
//基本要求:能够把结果正确插入数据库,也能正确导出。
//能够作为纯文本插在html中
function getTextFromString($str)
{
if (!get_magic_quotes_gpc()) $str = addslashes($str);
//代替html的< >为< $gt;
$str=str_replace("<","<",$str);
$str=str_replace(">",">",$str);
return $str;
}
处理一下,应该是字符串中的功能性字符,导致的错误(就像楼上说的)
$d = str_replace("\t","",$d);
$d = str_replace("<","<",$d);
$d = str_replace(">",">",$d);
$d = str_replace("\r","<br>",$d);
$d = str_replace("\n","",$d);
$d = str_replace("|","│",$d);
$d = str_replace(" "," ",$d);
return $d;
}
$d为你所指的contents
$str=str_replace("<","<",$str);
就足够了,而只经过这一个,就可以直接放到数据库里了
不用addslashes处理
因为php.ini中不一定开放了特殊字符的自动转义功能。
$d = str_replace("\t","",$d);
$d = str_replace("<","<",$d);
$d = str_replace(">",">",$d);
$d = str_replace("\r","<br>",$d);
$d = str_replace("\n","",$d);
$d = str_replace("|","│",$d);
$d = str_replace(" "," ",$d);
return $d;
}