gpt4 book ai didi

php - 如何使用 PHP 从输入框中删除引号?

转载 作者:可可西里 更新时间:2023-10-31 23:12:12 26 4
gpt4 key购买 nike

我有这个:

<input name="title" type="text" class="inputMedium" value="' . $inputData['title'] . '" />

我想从用户输入中去除引号,这样如果有人输入如下内容:“这是我的标题”,它不会弄乱我的代码。

我试过了,但没用:

$inputData['title'] = str_replace('"', '', $_POST['title']);

最佳答案

如果我对问题的理解正确,你想从 $inputData['title'] 中删除 ",这样你的 HTML 代码就不会乱了吗?

如果是这样,“正确”的解决方案不是删除双引号,而是在执行实际输出之前转义它们。


考虑到您正在生成 HTML,**您应该使用 [`htmlspecialchars`][1] 函数**;这样,双引号 *(和其他几个字符)* 将被编码为 HTML 实体,并且在注入(inject)到 HTML 标记中时不会造成任何问题。

例如:

echo '<input name="title" type="text" class="inputMedium" value="'
. htmlspecialchars($inputData['title'])
. '" />';

注意:根据您的情况(尤其是关于您可能使用的编码/字符集),您可能会将一些额外的参数传递给 htmlspecialchars

一般来说,无论您使用哪种输出格式,您都应该始终对作为输出发送的数据进行转义。

例如:

  • 如果您要生成一些 XML 或 HTML,您应该使用 htmlspecialchars
  • 如果你正在生成一些 SQL,你应该使用 mysql_real_escape_string ,或等效物,具体取决于您使用的数据库类型

关于php - 如何使用 PHP 从输入框中删除引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com