无法填充包含&;数据的字段#039; (单引号,撇号)在JavaScript中,带有Laravel和PHP

无法填充包含&;数据的字段#039; (单引号,撇号)在JavaScript中,带有Laravel和PHP,javascript,php,html,laravel-5,single-quotes,Javascript,Php,Html,Laravel 5,Single Quotes,我试图用包含单个引号的数据库中的一些数据填充表单字段。数据存储在带有PHP(和Laravel)的MySQL数据库中,使用htmlentities()和ENT#U QUOTES选项,我确认单引号已转换为'保存在数据库中时 我可以通过回显在PHP页面上显示它,而不会出现任何问题,但是当我尝试使用javascript或jquery填充该字段时,它不起作用。我试过用.replace替换'

我试图用包含单个引号的数据库中的一些数据填充表单字段。数据存储在带有PHP(和Laravel)的MySQL数据库中,使用htmlentities()和ENT#U QUOTES选项,我确认单引号已转换为
'保存在数据库中时

我可以通过回显在PHP页面上显示它,而不会出现任何问题,但是当我尝试使用javascript或jquery填充该字段时,它不起作用。我试过用.replace替换
'\'
来逃避引用,但我还是没有运气。该字段称为“note”,下面是相关代码,其中$data表示从数据库检索到的数据:

<?php $data = "&#039;Twas The Night Before Christmas"; ?>
<form method="post" name="my_form">
  <input type="text" name="note" id="note" value="" /> 
  <input type="button" value="Edit" onclick="editNote('<?php echo $data; ?>')" />
  <!-- other elements here ... --> 
</form>
我还尝试在javascript调用中使用PHP的addslashes(),但这也不起作用。我不知道为什么,但是有任何带有
和#039未正确转义,因此未填充我的字段。没有单引号的数据是可以的。使用
的双引号数据也很好。所以现在我很困惑,我想我应该向社区寻求指导。有什么想法可以解释原因吗?我错过了一些琐碎的东西吗?如果有任何帮助,我们将不胜感激。

试试这个

<?php $data = "&#039;Twas The Night Before Christmas"; ?>
<form method="post" name="my_form">
  <input type="text" name="note" id="note" value="" /> 
  <input type="button" value="Edit" onclick='editNote("<?php echo $data; ?>")' />
  <!-- other elements here ... --> 
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function editNote(data){
    $('#note').val(data);
}

</script>


谢谢,但我发现以下解决方案是有效的。我只是使用PHP的str#u replace将
';
替换为一个转义单引号
\
,如下所示:

editNote('<?php echo str_replace("&#039;", "\'",$data); ?>')
editNote(“”)
editNote('<?php echo str_replace("&#039;", "\'",$data); ?>')