我有一篇很长的文本,我设法将其存储在我的数据库(mysql)中。我可以将数据从数据库获取到 php,这也没有问题。为了把长文本放到ckeditor,
function getDetails(text,did,title){
// tersine replace işlemleri
// syntax hatamızı çözdük, şimdi textlerimizde bulunan quot; ları eskisi gibi " lara çevirelim
console.log(text);
$("#editor").css("visibility","visible");
$("#info").css("visibility","visible");
ineditor = "<textarea class='ckeditor' name='editor1' cols='30' rows='10'></textarea>";
CKEDITOR.instances.editor1.setData(text);
$("#info").html(title);
$("#btnUpdate").attr("onclick","updateNews("+did+")");
}
这是代码 我获取长文本作为文本参数。 我像这样从 php 发送它:
$text=json_encode($text);
$title= json_encode($title);
echo "n<td id='text$rec[0]' ondblclick='imageClickNews($rec[0]1)' onclick='getDetails($text, $rec[0], $title)'>$rec[1]</td>
通过使用on单击<td>
我想在我的长文本的某个点之后,它不会阅读其余的。我该怎么办?谢谢
我建议你在CKEditor方面更多地考虑正在生成的HTML和JS,而不是PHP。我建议你将 HTML 输出为 HTML 而不是 JavaScript 变量,concider 可能会使用下面渲染和未经测试的 HTML 之类的东西 - 一个很大的变化,是的,但我认为值得:
<script>
function setDataTitleAndClickHandler(dataElementID, dataTitleID, thingID) {
var htmldata = $('#' + dataElementID).html();
var titledata = $('#' + dataTitleID).html();
$("#editor").css("visibility","visible");
$("#info").css("visibility","visible");
CKEDITOR.instances.editor1.setData(htmldata);
$("#info").html(titledata);
$("#btnUpdate").attr("onclick", "updateNews(" + thingID + ")");
}
</script>
<tr>
<td onclick="getDetails('foo-data', 'foo-title', 12345)">
<div id="foo-title">"It's a mad world" - Anon</div>
<div style="display:none;" id="foo-data">
<p>Content from DB to CKE via PHP.</p>
<p>"It's a mad world" - Anonymous.</p>
</div>
<p>Visible stuff here</p>
</td>
</tr>
<textarea class="ckeditor" name="editor1" cols="30" rows="10"></textarea>
<button id="btnUpdate">Update :D</button>
这样做的好处是,您不需要过多考虑格式,并且HTML是独立的,易于调试。此外,这种模式很容易重复,并且应该很容易在 PHP 中命名空间和渲染。这种方法是否满足您的情况?
这个:
onclick='getDetails($text, $rec[0], $title)'
将 php 嵌入到 javascript 中。
在 JavaScript 中,你必须用双引号括住字符串值。
所以让我们说你的$text == 'rabbit'
和$title == 'fairy'
.
以下是您在 HTML 中得到的内容:
<td onclick='getDetails( rabbit , 0, fairy )'...
以下是您应该在HTML中使其正确的内容:
<td onclick='getDetails( "rabbit" , 0, "fairy" )'
所以最终的PHP代码将是:
echo "n<td id='text$rec[0]' ondblclick='imageClickNews($rec[0]1)' onclick='getDetails("$text", $rec[0], "$title")'>$rec[1]</td>
而且我不知道did
,如果它也是文本,也在那里做同样的事情。