我正在尝试使用Jeditable来编辑一些放在文本中的内联内容。因此,我调用脚本文件:
<script src="js/jquery.jeditable.js"></script>
<script src="js/jquery.jeditable.autogrow.js"></script>
<script src="js/jquery.autogrow.js"></script>然后,我有一个函数可以将数据发送到服务器(我保留了示例URL)。此函数创建一个文本区,并允许编辑:
$(".autogrow").editable("http://www.appelsiini.net/projects/jeditable/php/save.php", {
indicator : "<img src='img/indicator.gif'>",
type : "autogrow",
submit : 'OK',
cancel : 'cancel',
tooltip : "Click to edit...",
onblur : "ignore",
event : "dblclick",
autogrow : {
lineHeight : 16,
minHeight : 32
}
});然后,我有了编辑包含HTML标签的数据,因为我必须存储它们:
$data = '<div style="color:red">Foo Bar</div>';
echo '<div class="autogrow">'.htmlentities($data).'</div>';"echo“很好地显示了带有标签的"$data”内容,但是当我想要编辑内联DIV时,会创建一个文本区,并在该文本区中显示以下数据:
<div style="color:red">Foo Bar<div>而不是:
<div style="color:red">Foo Bar</div>如何显示正确的字符?
发布于 2010-10-07 22:46:39
编辑:我没有意识到这个问题是2个多月前提出的-抱歉
您是否尝试过在将文本放入文本区域时使用html_entity_decode()函数?
htmlentities()函数会将<等内容更改为<,而html_entity_decode()应将<更改为<
基本上,一个文本区域不会格式化你的HTML标签,所以你需要自己转换它们。
然而,我已经有一段时间没有使用PHP了,所以我记不太清楚了。
发布于 2015-03-10 17:43:30
只需编辑此文件js/jquery.jeditable.js
转到第#行:398 $.editable{}函数,并添加如下代码所示的行
$.editable = {
types: {
defaults: {
element : function(settings, original) {
var input = $('<input type="hidden"></input>');
$(this).append(input);
return(input);
},
content : function(string, settings, original) {
string = $('<div/>').html(string).text(); // <--- Add this line
$(':input:first', this).val(string);
},谢谢
https://stackoverflow.com/questions/3309028
复制相似问题