解析笑脸与文本字符串html和保持笑脸在显示顺序

Parsing smileys with text as string to html and keeping smileys in order in display

本文关键字:笑脸 显示 顺序 html 文本 字符串      更新时间:2023-09-26

我检查了一些建议,但我找不到任何有关保持微笑符号在文本中的顺序。

我的情况是,字符串是完美的从php到js(通过ajax),然后它被传递到下面的这个函数。此时,字符串看起来像这样

  hello this is a test <a href="javascript:void(0);"><img onclick="addcodesmiley('newmessage',':cry:');return false;" class="smileyeach" src="https://example.com/ow_static/plugins/chat/images/icon_cry.gif" alt="cry" /></a> of the smokey bear <a href="javascript:void(0);"><img onclick="addcodesmiley('newmessage',':mad:');return false;"  class="smileyeach" src="https://example.com/ow_static/plugins/chat/images/icon_mad.gif" alt="mad" /></a> ok then

按照我想要的顺序IE文本smiley文本smiley

但是当它离开js进入html时它就变成了smiley smiley text

我认为从我的阅读,它有一些与使用innerHTML,因为图像没有innerHTML。我已经读了一些关于解析使用DOM和jquery,但老实说,我不确定这是不是问题,我不想结束追逐我的尾巴在这里。

这是我用来将数据发布到html的函数,在这个阶段它的顺序也是正确的。除了顺序更改为()()文本之外,其他一切都工作正常。

那么为什么顺序会改变呢?我该怎么做才能改正呢?

  function postchat(userinfo, mess, thetime) 
  {
   /* create the dynamic table cells */
   var chattable = document.getElementById("showChat");
   var row = chattable.insertRow(0);
   var userdat = row.insertCell(0);
   var umsg = row.insertCell(1);
   var mtim = row.insertCell(2);
   /* load the cells */  
   userdat.innerHTML = userinfo;
   umsg.innerHTML = mess;
   mtim.innerHTML = thetime;
   /* set the class for cells */
   userdat.className = 'uinfo';
   umsg.className = 'mess';
   mtim.className = 'when';
   /* move scroll bar down with text */
   updateScroll();
 }//close function postchat

问题解决了,它在我的CSS

表中的第一个单元格是具有

类的头像和用户名。
 .uinfo {
  width:20%;
  padding-left: 0px;
  text-align: left;
 }

当我第一次设置这个时,我想把头像推一点,所以我添加了

 img {
 float: left;
 padding-left: 5px;
 padding-right: 5px;
 }

,它不限制它的第一个单元格,但所有的图像…所以当我添加笑脸符号的时候,我忘了把它限制在那个单元格里。

所以我要把它改成

 .uinfo img {
 float: left;
 padding-left: 5px;
 padding-right: 5px;
 }

解决……问题答案在盒子之外,我从来没有考虑过CSS作为解决方案。主要是因为我的头脑还停留在过去的日子里,我想当CSS还在HTML里的时候,当我没有看到它的时候,我就不会去想它。这应该是最重要的,我从中吸取了教训。