Мне нужно создать логин в форме, в которую пользователь введет имя пользователя и пароль. Я должен гарантировать, что 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; ?>
Я думаю, вы так хотите. .. Пожалуйста, проверьте
$yourPostVariable = "scor\"pi'on"; //$name = str_replace(array("'", "\""), "", htmlspecialchars($yourPostVariable ) ); echo str_replace(array("'", "\"", """), "", htmlspecialchars($yourPostVariable ) );
$username = htmlentities(str_replace(array('"', "'"), '', $_POST['username']));
$username = str_replace(array("'", "\""), "", htmlspecialchars($_POST['username']));
$keyItem = str_replace ("'","\'",$keyItem);
Это заменяет одну цитату «сбежавшей» одинарной кавычкой.
Попробуйте приведенный ниже код, чтобы заменить двойные кавычки
str_replace(chr(34), "replace_with", $content);
Для одиночных кавычек
str_replace("'", "replace_with", $content);
Чтобы удалить кавычки, вы можете использовать это:
$search = 'cars "black" in ...'; $search = str_replace("\"", "", $search); // result: "cars black in ..."
$username_test = $_POST['username']; $username = str_replace(array("'", "\"", """), "",htmlspecialchars($username_test) ); //same for password :)