javascript — php to JS длинный текст — ckeditor

Я получил длинный текст, который мне удалось сохранить в моей базе данных (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 çevirelimconsole.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>

Используя onClick на <td>

Я думаю, что после некоторого пункта моего Длинного текста он не читает остальное. Что мне делать?
Спасибо

-1

Решение

Я предлагаю вам больше думать о генерируемых HTML и JS, а не о PHP, когда речь идет о CKEditor. Я предлагаю вам выводить 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. Этот метод удовлетворяет вашей ситуации?

0

Другие решения

Это:

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сделайте то же самое там, если это тоже текст.

0