gpt4 book ai didi

php - 指定文本在发布时转换为图标,但在接收时不执行相同操作

转载 作者:行者123 更新时间:2023-12-01 04:47:51 24 4
gpt4 key购买 nike

我尝试修改聊天脚本。(original script 来自 Eliza Witkowska 链接。)我主要尝试将一些文本转换为表情符号。到目前为止我只能正确地将文本转换为表情符号。

但是,仅当我发送消息时,文本才会转换为图标,但当我在另一个浏览器上收到消息时,文本不会转换为图标(我正在使用 session ,因此我必须使用另一个浏览器),除非刷新或我从另一个浏览器发送消息。

更清楚地说,假设我已经从 chrome 登录了一个 a/c,并从 Firefox 登录了另一个 a/c;当我从 Chrome 发送消息时,指定的字符会转换为图标,但只有这些字符会显示在 Firefox 上,直到页面刷新或从 Firefox 发送新消息为止。

db.php

function check_changes(){
$result = $this->db->query('SELECT counting FROM news WHERE id=1');
if($result = $result->fetch_object()){
return $result->counting;
}
return 0;
}


function get_news(){
if($result = $this->db->query('SELECT * FROM news WHERE id<>1 ORDER BY add_date DESC LIMIT 50')){
$return = '';
while($r = $result->fetch_object()){
$timing=explode(" ", $r->add_date);

$return .= $r->title;
$return .='<p>'.$timing[1].' on '.$timing[0].'</p><hr/> ';
//$return .= '<hr/>';
}
return $return;
}
}

配置文件.php

function parseSmiley($text){
//Smiley to image
$smileys=array('o:)'=>'angel.gif', ':3'=>'colonthree.gif', 'o.O'=>'confused.gif', ":'("=>'cry.gif', '3:)'=>'devil.gif', ':('=>'frown.gif', ':O'=>'gasp.gif', '8)'=>'glasses.gif', ':D'=>'grin.gif', ">:("=>'grumpy.gif', '<3'=>'heart.gif', '^_^'=>'kiki.gif', ':*'=>'kiss.gif', ':v'=>'pacman.gif', ':)'=>'smile.gif', '-_-'=>'squint.gif', '8|'=>'sunglasses.gif', ':p'=>'tongue.gif', ':/'=>'unsure.gif', '>:O'=>'upset.gif', ';)'=>'wink.gif');

//Now you need to find and replace
foreach($smileys as $smiley=>$img){
$smiley = preg_quote($smiley, '/');
$text = preg_replace( "#(?<=\s|^)(?:$smiley)((?=\s|$))?#i", '<img src="emotions-fb/'.$img.'">', $text);
}
//Now only return it
return $text;
}

$print= parseSmiley($db->get_news());


<div id="message_short" data-counter="<?php echo (int)$db->check_changes();?>">
<?php echo wordwrap($print, 25, "\n", true);?>
</div>
<div id="message_long" data-counter="<?php echo (int)$db->check_changes();?>">
<?php echo wordwrap($print, 35, "\n", true);?>
</div>

最佳答案

请务必使用 parseSmiley() 包装 get_news()

正如我从提供的链接中看到的,有一个 checker.php,其中 $db->get_news() 应替换为 parseSmiley( $db->get_news())

关于php - 指定文本在发布时转换为图标,但在接收时不执行相同操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26635478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com