2

OK、私はこの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文字列をテストするためのものです)

4

2 に答える 2

4

これをjQuery経由でロードする理由がない場合は、次のようにしてください。

<textarea name="testload" id="testload">
    <?php echo htmlspecialchars($htmlstring); ?>
</textarea>
于 2013-01-11T18:08:20.300 に答える
2

SQLの場合はエスケープする必要はありませんが、javascriptの場合はエスケープする必要があります。

$("#testload").val(<?= json_encode($htmlstring);?>);
于 2013-01-11T18:13:57.463 に答える