我有一个代码编辑器块,并提交如下代码:
$something = "<a href=\"somepage.html\">Link</a>";
然而,当我提交它时,得到输出的字符串缺少反斜杠转义字符,我得到:
$something = "<a href="somepage.html">Link</a>";
......显然不正确。我已经发现它与magic_quotes_gpc有关,当“On”开启时它正常工作。我的目标是让应用程序能够轻松安装在多个主机上,并且我希望避免在每个实例上打开magic_quotes_gpc。
答案 0 :(得分:0)
魔术行情已经过折旧 在PHP6中删除。如果你还是 希望你的代码是可移植的,不 警告等,您可以使用PHP52 以下代码。
<?php
foreach ($_GET as $key => &$val)
$val = filter_input(INPUT_GET, $key);
foreach ($_POST as $key => &$val)
$val = filter_input(INPUT_POST, $key);
?>
以上将检索转义 GET和POSTs无论系统如何 设置。它也可以用于 $ _COOKIES和其他人。
答案 1 :(得分:0)
尝试双重转义:
$something = "<a href=\\"somepage.html\\">Link</a>";
答案 2 :(得分:0)
addslashes() - 方法可能正是您要找的。 p>
但是,如果您想直接将这些值放在数据库中,可以使用mysql_real_escape_string() - 方法,或者使用Prepared Statement。