如何使用str_replace替换单引号和双引号

时间:2013-02-07 04:53:46

标签: php

我必须在表单中创建一个用户将插入用户名和密码的登录。我必须确保不处理html实体,并且我也不能允许处理单引号或双引号。我必须回显输入到表单中的数据并显示它。

我必须使用htmlentities和str_replace。我的htmlentities正确,但我不确定如何利用str_replace函数来替换用户可能在表单中输入的单引号和双引号。任何帮助都会很棒。

这是我目前的PHP(有效)

<?php
$username = htmlspecialchars($_POST['username']);
$password    = htmlspecialchars($_POST['password']);
$comment = htmlspecialchars($_POST['comment']);
?>
<html>
<body>
Your username is: <?php echo $username; ?><br />
Your password: <?php echo $password; ?><br />
Your Comment was: <?php echo $comment; ?>

   

6 个答案:

答案 0 :(得分:14)

我想你想要this way..,请检查

$yourPostVariable = "scor\"pi'on";

//$name = str_replace(array("'", "\""), "", htmlspecialchars($yourPostVariable ) );

echo str_replace(array("'", "\"", "&quot;"), "", htmlspecialchars($yourPostVariable ) );

答案 1 :(得分:2)

$username = htmlentities(str_replace(array('"', "'"), '', $_POST['username']));

答案 2 :(得分:1)

$username = str_replace(array("'", "\""), "", htmlspecialchars($_POST['username']));

答案 3 :(得分:0)

尝试使用以下代码替换双引号

str_replace(chr(34), "replace_with", $content);

单引号

str_replace("'", "replace_with", $content);

答案 4 :(得分:0)

要删除引号,您可以使用:

$search = 'cars "black" in ...';
$search = str_replace("\"", "", $search);
// result: "cars black in ..."

答案 5 :(得分:0)

$username_test = $_POST['username'];
$username = str_replace(array("'", "\"", "&quot;"), "",htmlspecialchars($username_test) );


//same for password :)