我想格式化一些错误的html输出到弹出窗口。 html存储在mysql数据库的一个字段中。htmlspecialchars和json编码问题
我已经在该行中的PHP像这样进行json_encode并用htmlspecialchars:
$html = htmlentities(json_encode($row2['ARTICLE_DESC']));
,并打电话给我makewindows功能,它只是简单地采用HTML作为一个放慢参数,并使用它withdocument.write像这样:
<p><a href='#' onclick=\"makewindows('".$html."'); return false;\">Click for full description </a></p>
此工程确定,如在一些HTML代码产生时,如以下:
http://www.nomorepasting.com/getpaste.php?pasteid=22823&seen=true&wrap=on&langoverride=html4strict
粘贴那里,因为我不知道如何来换行,在SO
的问题是,用htmlspecialchars似乎并没有被剥离不良的HTML数据,则不会创建任何弹出窗口。我收到萤火虫的误差后的参数列表
缺失)然而,HTML是我无法控制的。
从我读过的内容,我正在采取正确的步骤。如果我错过了一些东西,它是什么?
我全使Windows功能:
function makewindows(html){
child1 = window.open ("about:blank");
child1.document.write(html);
child1.document.close();
}
当我编写PHP并且必须编写我自己的自定义分析器来解析(或剥离)特殊字符时,`htmlentities`和`htmlspecialcharacters`非常令人沮丧。你可以设置你的数据库表,只允许某个字符集或在插入前验证数据吗? – rxgx 2011-01-04 10:09:59