php专区

 首页 > php专区 > PHP进阶 > 网络编程 > 聊天室技术(六)-- 表情和动作

聊天室技术(六)-- 表情和动作

分享到:
【字体:
导读:
         摘要:表情和动作极大的丰富了聊天的乐趣,一般的聊天室主要通过2种方法发送(1)按钮菜单的方法通过在一个固定的下拉菜单里面进行选择,找到自己满意的表情,然后选中,按发送按钮发出(2)通过手工输入代号比如网易的以手工输入//hello代表欢迎的一段动作,以//bye代表再...

聊天室技术(六)-- 表情和动作
表情和动作极大的丰富了聊天的乐趣,一般的聊天室主要通过2种方法发送
(1) 按钮菜单的方法
通过在一个固定的下拉菜单里面进行选择,找到自己满意的表情,然后选中,按发送按钮发出
(2) 通过手工输入代号
比如网易的以手工输入 //hello 代表欢迎的一段动作,以 //bye 代表再见的一段动作表情

 

我们这里介绍菜单的具体实现方法,手工输入的不用介绍了吧! 哈哈!除非你记不住那些...

1 下拉菜单选择表情动作的实现
为了扩充方便,我们制作了表情动作的数据文件,这样在以后扩充时将会非常方便.

表情动作文件的格式如下($split代表分割符):

//1234$split“1234567,我的朋友在哪里1234!!!!!”
//?$split很疑惑的看着对象...
//??$split抓呀抓,把头皮都抓破了,也没有想出个所以然来。
//???$split怎么回事?这到底是怎么回事

前面的//1234代表表情动作代码,分隔符后面的代表显示的表情动作注意其中的 对象 两个字将会在显示时替换成为发言对象的名字

这段代码用于把菜单选择的对应的表情动作代码写到发送栏里面
<script>
function changemote($newemote)
{
document.inputform.msg.value = $newemote
}
</script>

这段代码生成动态下来菜单

<select name="select" onchange="changemote(this.options[this.selectedIndex].value)">
<option value="0" selected>动作</option>
<?
$emotemsg = file($emotefilename);
for($i=0;$i<count($emotemsg);$i++)
{
$msg = split($split,$emotemsg[$i],99);
print("<option value=$msg[0]>$msg[1]</option>");
}
?>
</select>


这样就完成了从菜单选动作表情的过程


2 表情动作在发言处理程序里的处理过程

messagesend.php

<?

//读入表情动作文件
$emote3 = file($emotefilename);
$emote3number = count($emote3);
for($kk=0;$kk<$emote3number;$kk++)
{

//分割每个表情动作
$emote=split($split,chop($emote3[$kk]),99);

//如果发言内容等于表情动作
if($message == $emote[0])
{

//替换表情动作里面的 对象 为实际的聊天对象名字
$emote[1]=ereg_replace("对象","<font color=red>$talkto</font>",$emote[1]);

//发言内容改为动作表情的内容
$message = "<a href="http://www.php1.cn/">>".$emote[1];
break;
}
}
?>

这样我们就实现了表情和动作,如果做一个自动添加动作表情的程序功能,更会增加聊天的娱乐性!

原作者:howtodo
来源:php2000.com

聊天室技术(六)-- 表情和动作
分享到:
聊天室技术(七)-- 帖图
聊天室技术(七)-- 帖图如果在聊天文字中能增加一些美丽的图片.......   图片代码的生成和表情动作一样,可以菜单选择也可以手工输入,这里只给出格式和代码,不再解释,请察看 表情于动作部分 1 文件格式 //$picturefilename 1$split咖啡色西服$splitxw20151.jpg$split 2$split黑色燕尾服$splitxw201534.jpg$split 编...
聊天室技术(五) -- 指挥中心
聊天室技术(五) -- 指挥中心这里是聊天室的指挥中心,所有的指令都要在这里发出   1下面是基本的发送表单代码 &lt;form name=inputform action=&#039;messagesend.php&#039; target=&#039;bl&#039; onsubmit=&#039;return(checksay());&#039; method=POST&gt; &lt;? //下面的2个参数用于验证信息的正确性 print("&lt;...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……