strip_tags不起作用

Ilj*_*lja 2 html php mysql filter strip-tags

我想要像这样过滤掉html字符

$user = $_POST["user"]; //Get username from <form>
mysql_real_escape_string($user); //Against SQL injection
strip_tags($user); //Filter html characters out
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这不是过滤html字符.我不知道为什么,可以mysql_real_escape_string吗?

lor*_*o-s 10

......但是,你的意思是:

$user = $_POST["user"]; // Get username from <form>
$user = mysql_real_escape_string($user); // Against SQL injection
$user = strip_tags($user); // Filter html characters out
Run Code Online (Sandbox Code Playgroud)

正如在其他答案中所述(指的是strip_tags(),但它是相同的mysql_real_escape_string()),这些函数不直接改变字符串,而是返回修改后的副本.因此,您必须将返回值分配给相同(或另一个)变量!


Ren*_*Pot 5

strip_tags($user); //Filter html characters out
Run Code Online (Sandbox Code Playgroud)

应该替换为:

$user = strip_tags($user); //Filter html characters out
Run Code Online (Sandbox Code Playgroud)

strip_tags 返回剥离的值

请参阅doc:http://nl2.php.net/strip_tags

这是一样的 mysql_real_escape_string()

$user = mysql_real_escape_string($user); //Against SQL injection
Run Code Online (Sandbox Code Playgroud)