PHP 到 JQuery 函数字符串

PHP to JQuery function String

这是我从我的数据库获取到 PHP 的数据:

 <p><em>ozantrkcn NABER</em> IYI PANPA SENDE NABER <strong>IYI YA NOOLSUN UGRASIYORUZ ISTE</strong></p>

这就是我在 php 中获取它的方式。我将其作为 $rec 获取。 $rec[0] 是 ID,$rec[1] 是标题,$rec[2] 是文本 我更改了 < > 这些因为它们是特殊字符并且 JQuery 会在阅读时遇到问题...我必须放 \" 如果我​​没有收到文本中空格的另一个错误:

 $sql = "select * from duyurular";
    $result = $db->query($sql);

    while ($rec = $db->getRowArray($result)) {


       $text = str_replace('>',"&gt;",$rec[2]);
       $text = str_replace('<',"&lt;",$rec[2]);
       $title = str_replace('<',"&lt;",$rec[1]);
       $title = str_replace('>',"&gt;",$rec[1]);


        echo "\n<tr class='datastr'>";
        echo "\n<td id='text$rec[0]' ondblclick='imageClick($rec[0]1)' onclick='getDetails(\"$text\", $rec[0], \"$title\")'>$rec[1]</td>
        <td class='functions'>
        <i id='btnEdit$rec[0]' class='fa fa-pencil icons' title='Değiştir' onclick='imageClick($rec[0]1)'></i>
        <i id='btnDEL$rec[0]' title='Sil' class='fa fa-trash icons' onclick='imageClick($rec[0]2)'></i>
        <input id='btnUpdate$rec[0]' style='visibility:hidden' type='button' value='Onayla' onclick='updateNews($rec[0])'>
        </td>";
        echo "\n</tr>";

    }

这是函数 - JavaScript 代码 (JQuery) - 我在这里遇到错误.. 根据error says..函数参数有问题:

    function getDetails(text,did,title){

        detailText = ""+text;


         detailText = detailText.replace("&gt;", '>');
         detailText = detailText.replace("&lt;", '<');
         title = title.replace("&gt;", '>');
         title = title.replace("&lt;", '<');


          $("#editor").css("visibility","visible");

         ineditor = "<textarea class='ckeditor' name='editor1' cols='30' rows='10'></textarea>";
         CKEDITOR.instances.editor1.setData(detailText);
         $("#info").html(title);
         $("#btnUpdate").attr("onclick","updateNews("+did+")");

        alert("calisti");





}

这是我遇到的错误,有一个箭头指向引号:

SyntaxError: unterminated string literal


getDetails("<p><em>ozantrkcn NABER</em> IYI PANPA SENDE NABER <strong>I

谢谢..

问题是您将文本转储到 javascript 上下文中。例如:

<?php
$foo = 'hello';
?>

<script>
   alert(<?php echo $foo ?>);
</script>

会产生文字 text/code

 alert(hello);

在html/js您的浏览器下载。当浏览器执行该代码时,它会寻找一个名为 hello 的变量,该变量不存在。切勿将 PHP 中的文本直接转储到 JS 代码中。始终使用 json_encode(),这样无论你转储什么,都会成为语法上有效的 JS 字符串:

 alert(<?php echo json_encode($foo) ?>);

变成

 alert('hello');

然后弹出一个警告框,里面有单词 hello,正如预期的那样。