首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的文本区域中解码的特殊字符(使用一个原地编辑jQuery插件)

在我的文本区域中解码的特殊字符(使用一个原地编辑jQuery插件)
EN

Stack Overflow用户
提问于 2010-07-22 20:56:34
回答 2查看 1.9K关注 0票数 2

我正在尝试使用Jeditable来编辑一些放在文本中的内联内容。因此,我调用脚本文件:

代码语言:javascript
复制
<script src="js/jquery.jeditable.js"></script>
<script src="js/jquery.jeditable.autogrow.js"></script>
<script src="js/jquery.autogrow.js"></script>

然后,我有一个函数可以将数据发送到服务器(我保留了示例URL)。此函数创建一个文本区,并允许编辑:

代码语言:javascript
复制
$(".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标签的数据,因为我必须存储它们:

代码语言:javascript
复制
$data = '<div style="color:red">Foo Bar</div>';
echo '<div class="autogrow">'.htmlentities($data).'</div>';

"echo“很好地显示了带有标签的"$data”内容,但是当我想要编辑内联DIV时,会创建一个文本区,并在该文本区中显示以下数据:

代码语言:javascript
复制
&lt;div style="color:red"&gt;Foo Bar&lt;div&gt;

而不是:

代码语言:javascript
复制
<div style="color:red">Foo Bar</div>

如何显示正确的字符?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-07 22:46:39

编辑:我没有意识到这个问题是2个多月前提出的-抱歉

您是否尝试过在将文本放入文本区域时使用html_entity_decode()函数?

htmlentities()函数会将<等内容更改为&lt;,而html_entity_decode()应将&lt;更改为<

基本上,一个文本区域不会格式化你的HTML标签,所以你需要自己转换它们。

然而,我已经有一段时间没有使用PHP了,所以我记不太清楚了。

票数 0
EN

Stack Overflow用户

发布于 2015-03-10 17:43:30

只需编辑此文件js/jquery.jeditable.js

转到第#行:398 $.editable{}函数,并添加如下代码所示的行

代码语言:javascript
复制
$.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);
                },

谢谢

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3309028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档