好的,我有这个php变量:
<?php
$htmlstring = '<p>This is a test email<br /><br /><br /></p>
<p><span style="color: #808080; font-size: 12px; font-family: Tahoma,sans-serif;"><strong>Some Text here with an apostophe or image: <br /><img title="Test Img" src="http://somefakeurl.com/img/somefakeimg.gif" alt="test img" width="112" height="59" />';
?>
下面是main。php
<textarea name="testload" id="testload"></textarea>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("#testload").val('<?=$htmlstring;?>');
});
不显示
但是,如果我将其更改为下面的代码,它将显示:
$("#testload").val('<?=mysql_real_escape_string($htmlstring);?>');
我觉得我在破坏这个过程,但也许它是好的?(另外,我计划动态加载其他html到相同的文本区域,这只是为了测试一个单一的html字符串)
如果你没有理由通过jQuery加载这个,为什么不直接这样做:
<textarea name="testload" id="testload">
<?php echo htmlspecialchars($htmlstring); ?>
</textarea>
对于SQL不需要转义,但是对于javascript不需要转义。
$("#testload").val(<?= json_encode($htmlstring);?>);