Kendo UI WYSIWYGエディターを使用して、PHPを使用してフォーマットされたテキストをMySQLデータベースに入力しています。このビットは正常に機能します。データベースにHTMLをエンコードしました。
KendoUIListViewを使用してデータベースからデータを出力しています。適切なHTMLエンコーディングを取り戻すには、2つの関数を使用する必要があることがわかりました。
$row["body"] = stripslashes(html_entity_decode($row["body"]));
$row["body"] = str_replace(" ", " ", $row["body"]);
これで、JSONフィードは適切なHTMLを出力します(最小限のテストで確認できる限り)。
JSONフィードからデータを取得してListViewのページに表示するJavascriptは、エンコードされたHTMLコードではなく、HTMLコードを表示しています。これは良いことですが、私が本当に望んでいるのは、表示することです。実際のフォーマットされたテキスト。
html_entity_decode()を使用して文字列をもう一度解析しようとしましたが、うまくいきませんでした。これはJSで行わなければならないことだと思いますが、すべての解析を行っているため、KendoUIでこれを具体的にどのように実現できるかはわかりません。
私のJS:
$(document).ready(function() {
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "http://dev.openbill.co.uk/admin/crud/viewticket/main.json.php?id=<?php echo $_GET['id']; ?>",
contentType: "application/json; charset=utf-8",
type: "GET",
dataType: "json",
}
},
schema: {
data: "data",
total: "total",
parse: decode
},
serverPaging: true,
serverSorting: true,
pageSize: 10,
page: 1,
});
$("#pager").kendoPager({
dataSource: dataSource
});
$("#listView").kendoListView({
dataSource: dataSource,
template: kendo.template($("#template").html())
});
});