Я отправляю html, вставленный в (с помощью CKEditor), в .php через jQuery ajax (), и этот PHP возвращает HTML-формат и возвращает его обратно в текстовое поле.
Это вызов Ajax
var elhtml = document.getElementById('products_description[1]');
$.ajax({
type: "POST",
dataType: "json",
data: 'elhtml=' + elhtml.value,
url: 'categories_cleanup.php',
success: function(data) {
$('#textarea').val(data.message);
}
});
А это PHP
<?php
echo json_encode(array("message"=>strip_tags( $_POST['elhtml'], '<ul><li>')));
?>
Проблема в том, что когда HTML возвращается, он урезается.
Итак, я начал отладку и обнаружил, что она всегда обрезается в точке, где есть специальный символ. Если я помещу тот же HTML-код, который ajax отправляет в PHP, где находится переменная $ _POST, HTML-код возвращается в текстовую область очень хорошо.
Так что проблема должна заключаться в переходе от текстовой области к php.
Код обрезается в любое время, когда есть ', например: Это -> Это
Код из PHP вернется с нуля к первому появлению '[...] It
Это проблема кодирования ajax?
Я попытался установить ajax dataType в text, но то же самое происходит.
Я не думаю, что это имеет какое-либо отношение к PHP, поскольку он может прекрасно с ним справиться, когда html был вставлен в сам php.
Есть идеи?
Заранее спасибо