sro*_*den 3 html php forms apostrophe
使用HTML,XML和php 5.3(无SQL)进行单一分配.建立一个评论网站.我有一个textarea,用户可以在其中发表评论.如果用户输入撇号,例如World's Best Uni !,当我回复$ _REQUEST ['reviewtext']时,我会得到World's Best Uni!
要按摩数据以保存XML,我有以下代码:
$cleantext1 = htmlspecialchars($_REQUEST['reviewtext']);
substr_replace($cleantext1,"\'","'");
$cleantext2 = strip_tags($cleantext1);
$cleantext3 = utf8_encode($cleantext2);
Run Code Online (Sandbox Code Playgroud)
我在每一步都有回音,这句话仍然是世界上最好的大学!在每一步.我期望前两行中的一行用html代码替换转义的撇号,但它似乎不起作用.
有趣的是,这个问题不会发生在我的本地XAMPP服务器上; 仅限我托管的网站.
有什么建议?谢谢,肖恩
你正在经历的是PHP的魔术引号功能,它可以自动转发来自GET,POST,COOKIE的输入.依赖于这个功能是不明智的,并且从PHP 5.3开始就被弃用,并且在大多数配置中都会默认为关闭(但不会在你的Uni配置中).
您可以使用get_magic_quotes_gpc()来确定是否已打开,如果是,则取消对数据的删除.
if (get_magic_quotes_gpc()) {
$val = stripslashes($_POST['val']);
} else {
$val = $_POST['val'];
}
Run Code Online (Sandbox Code Playgroud)
在魔术引号引用进入更详细的历史,用途,以及如何处理与魔术引号.
另外,在输出数据时,请务必将其转义(例如htmlspecialchars(),当您处理来自任何不受信任来源的输入时,请务必对其进行过滤(例如addslashes(),mysql_real_escape_string()).
| 归档时间: |
|
| 查看次数: |
4949 次 |
| 最近记录: |