首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >strip_tags不工作

strip_tags不工作
EN

Stack Overflow用户
提问于 2011-12-21 02:30:11
回答 4查看 8.4K关注 0票数 2

我打算像这样过滤掉html字符。

代码语言:javascript
复制
$user = $_POST["user"]; //Get username from <form>
mysql_real_escape_string($user); //Against SQL injection
strip_tags($user); //Filter html characters out

但出于某种原因,这并不是在过滤掉html字符。我不知道为什么,mysql_real_escape_string能做到吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-21 02:33:17

...But,你是说:

代码语言:javascript
复制
$user = $_POST["user"]; // Get username from <form>
$user = mysql_real_escape_string($user); // Against SQL injection
$user = strip_tags($user); // Filter html characters out

正如在其他答案(指的是strip_tags(),但对于mysql_real_escape_string()也是一样)中所说的,这些函数不会直接更改字符串,而是返回修改后的副本。所以你必须将返回值赋给同一个(或另一个)变量!

票数 10
EN

Stack Overflow用户

发布于 2011-12-21 02:32:52

代码语言:javascript
复制
strip_tags($user); //Filter html characters out

应替换为以下内容:

代码语言:javascript
复制
$user = strip_tags($user); //Filter html characters out

strip_tags返回剥离后的值

请参阅文档:http://nl2.php.net/strip_tags

这与mysql_real_escape_string()是一样的

代码语言:javascript
复制
$user = mysql_real_escape_string($user); //Against SQL injection
票数 6
EN

Stack Overflow用户

发布于 2011-12-21 02:32:55

您错误地使用了strip_tags

string strip_tags ( string $str,string $allowable_tags )

修改代码以将其赋值给返回值应该可以解决这个问题

代码语言:javascript
复制
$user = strip_tags($user); //Filter html characters out

编辑

为了完整起见,感谢lorenzo-s指出了这一点,您还需要对mysql_real_escape_string执行相同的操作

代码语言:javascript
复制
$user = mysql_real_escape_string($user); // Against SQL injection
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8580191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档