如何使用PHP从输入框中删除引号
我有这个:如何使用PHP从输入框中删除引号,php,replace,user-input,quotes,Php,Replace,User Input,Quotes,我有这个: <input name="title" type="text" class="inputMedium" value="' . $inputData['title'] . '" /> 我想从用户输入中删除引号,以便如果有人输入以下内容: “这是我的标题”它不会弄乱我的代码 我试过这个,但不起作用: $inputData['title']=str_replace('''','',$\u POST['title']);用户输入应通过htmlspecialchars()运行
<input name="title" type="text" class="inputMedium" value="' . $inputData['title'] . '" />
我想从用户输入中删除引号,以便如果有人输入以下内容:
“这是我的标题”它不会弄乱我的代码
我试过这个,但不起作用:
$inputData['title']=str_replace('''','',$\u POST['title']);用户输入应通过
htmlspecialchars()
运行,以便在这种情况下使用。我强烈建议您使用htmlentities('string,entu QUOTES)在显示用户在任何地方生成的任何内容之前…如果我正确理解了问题,您想从$inputData['title']
中删除“
,这样您的HTML代码就不会出错
如果是这样,“正确”的解决方案不是删除双引号,而是在实际输出之前对双引号进行转义
考虑到您正在生成HTML,您应该使用函数;这样,双引号(和几个其他字符)将被编码为HTML实体,并且在注入HTML标记时不会造成任何问题 例如:
echo '<input name="title" type="text" class="inputMedium" value="'
. htmlspecialchars($inputData['title'])
. '" />';
echo';
注意:根据您的情况(特别是您可能使用的编码/字符集),您可能需要向htmlspecialchars
传递一些附加参数
一般来说,无论输出格式是什么,都应该转义作为输出发送的数据 例如:
echo '<input name="title" type="text" class="inputMedium" value="'
. htmlspecialchars($inputData['title'])
. '" />';
- 如果您正在生成一些XML或HTML,那么应该使用
- 如果要生成一些SQL,则应使用SQL或等效SQL,具体取决于所使用的数据库类型