带表情的评论

该博客介绍了移动端评论系统中如何处理含有表情的字符串,包括数据库编码格式、字符串转义等问题,并提供了一个完整的DEMO,涉及HTML、CSS和JS代码。在存取表情数据时需注意字符串处理,以确保正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


完整demo下载


效果展示

效果展示

注意

在将编辑好的含有表情的字符串存入数据库之后,可能由于编码格式及转义等原因,导致取回的字符串有所改变,存入数据和取出数据的时候需要需要做一些字符串的处理。

以下是我在项目中遇到问题的解决方案(你可能和我遇到的问题不同,仅作参考)
存入

//将 " 替换成一串特殊的字符串(确保不会和输入重复)
var str = str.replace(/"/g, "147852");  
//将 / 替换成一串特殊的字符串(确保不会和输入重复)
var str = str.replace(/\//g, "147833"); 

取出

//对 " 的还原
buff.detail = buff.detail.replace(/147852/g, '"');
//对 / 的还原
buff.detail = buff.detail.replace(/</g, '<'); 
//对 / 的还原
buff.detail = buff.detail.replace(/147833/g, "/");  
//对 = 的还原
buff.detail = buff.detail.replace(/=/g, "="); 

以下是这个demo的主要代码

完整demo下载


html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title></title>

    <link rel="stylesheet" type="text/css" href="css/A-emoji.css"/>

    <style type="text/css">
        .box{
            position: absolute;
            bottom: 0;
            width: 100%;
            left: 0;
        }
        #display{
            height: 500px;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div id="display">
        <div class="commentBox">
            <div class="li">
                <div class="icon">
                    <img src="img/AcFun/1.png"/>
                </div>
                <div class="content">
                    <div class="name">
                        adrian
                    </div>
                    <div class="time">
                        一小时前
                    </div>
                    <div class="text">
                        UISDGUIGV我就偶尔开发票【qweko-fqwekoifhwejhfiwejfo就我破防奇偶未交卡佛尔
                    </div>
                </div>
            </div>

            <div class="li">
                <div class="icon">
                    <img src="img/AcFun/1.png"/>
                </div>
                <div class="content">
                    <div class="name">
                        adrian
                    </div>
                    <div class="time">
                        一小时前
                    </div>
                    <div class="text">
                        UISDGUIGV我就偶尔开发票【qweko-fqwekoifhwejhfiwejfo就我破防奇偶未交卡佛尔
                    </div>
                </div>
            </div>
        </div>
    </div>


    <div class="box">
        <!--<div class="InputBox">     
            <div class="input">     
                <div contenteditable="true" class="text"></div>                      
              <div class="btnGroup">


                <button data="emoji" class="btn" style="bottom: 0;right: 30px;">表情</button>
                <button data="confirm" class="btn" style="bottom: 0;right: 0px;">确定</button>
              </div>     
            </div> 
            <div class="emojiBox">
                <section class="emoji_container">
                </section>
        </div>      -->
    </div>



    <script src="js/jquery-2.1.0.js" type=
HTML5 评论表情是利用HTML5标签和CSS3技术来实现的。在HTML5中,可以使用标签来插入表情,而CSS3则可以用来美化这些表情。下面是一个简单的实现步骤: 1. 首先,我们可以使用HTML5的标签来创建一个评论框,例如使用标签创建一个文本输入框。 ```html <input type="text" id="comment" placeholder="请输入评论..."> ``` 2. 接下来,我们可以使用CSS3来设置表情图标的样式。可以采用官方提供的表情图标字体库,也可以自己设计一些表情图标。 ```html <style> .emoji { font-family: "EmojiIcons"; /* 自定义表情字体库的名称 */ font-size: 20px; margin-right: 5px; /* 表情图标间的间距 */ } </style> ``` 3. 在HTML5中,可以使用特殊的表情图标代码来代替具体的表情图标。这些代码可以使用CSS3样式设置。 ```html <input type="text" id="comment" placeholder="请输入评论..."> <span class="emoji"></span> <!-- 使用特殊的表情图标代码 --> ``` 4. 最后,结合JavaScript来实现用户选择表情并插入到评论框中的功能。 ```html <script> // 当用户点击某个表情图标时,在评论框中插入该表情图标代码 document.querySelectorAll('.emoji').forEach(function(emoji) { emoji.addEventListener('click', function() { var commentInput = document.getElementById('comment'); commentInput.value += this.innerHTML; }); }); </script> ``` 通过以上步骤,我们就可以在HTML5评论中实现表情的功能。当用户点击某个表情图标时,该表情图标的代码将被插入到评论框中。这样,用户就可以直接插入表情来表达自己的情感了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值