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('>',">",$rec[2]);
$text = str_replace('<',"<",$rec[2]);
$title = str_replace('<',"<",$rec[1]);
$title = str_replace('>',">",$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(">", '>');
detailText = detailText.replace("<", '<');
title = title.replace(">", '>');
title = title.replace("<", '<');
$("#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
,正如预期的那样。
这是我从我的数据库获取到 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('>',">",$rec[2]);
$text = str_replace('<',"<",$rec[2]);
$title = str_replace('<',"<",$rec[1]);
$title = str_replace('>',">",$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(">", '>');
detailText = detailText.replace("<", '<');
title = title.replace(">", '>');
title = title.replace("<", '<');
$("#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
,正如预期的那样。