我正在使用encodeURIComponent()
(和encodeURI()
用于发送电子邮件)从用户安全地获取输入,然后通过ajax将输出发送到php。 php处理它并将这个转义的sting放入$_SESSION[]
然后我转到echo
。我想知道是否可以正常打印到html,然后html忽略它内部的任何代码(例如将被视为文本而不是标记)或者甚至将这两个步骤结合起来。我认为JavaScript编码的格式与php的格式不同,所以这可能是一个问题,但如果是,那么在php中更改这些stings的最佳方法是什么(我在MySQL中存储这些转义字符串)?
提前致谢。
答案 0 :(得分:-1)
Theese是我在php中处理用户字符串时使用的函数。
save用于保存到数据库,
编辑是在input / textareas中编辑
show是将它写出来,将标签显示为html中的文本。
// SAVE DATA
function save($str)
{
return mysql_real_escape_string($str);
}
//############################################################################
// EDIT DATA
function edit($str)
{
$patterns[0] = '/</';
$patterns[1] = '/>/';
$patterns[2] = '/"/';
$patterns[3] = "/'/";
$replacements[0] = '<';
$replacements[1] = '>';
$replacements[2] = '"';
$replacements[3] = ''';
$str = preg_replace($patterns, $replacements, $str);
$str = trim($str);
return stripslashes(stripslashes(str_replace('\r\n', '
', $str)));
}
//############################################################################
// SHOW DATA
function show($str)
{
$patterns[0] = '/</';
$patterns[1] = '/>/';
$patterns[2] = '/"/';
$patterns[3] = "/'/";
$replacements[0] = '<';
$replacements[1] = '>';
$replacements[2] = '"';
$replacements[3] = ''';
$str = preg_replace($patterns, $replacements, $str);
$str = trim($str);
return stripslashes(stripslashes(str_replace('
', '<br />', $str)));
}
玩它并看看它是否适合你:)