2016-01-26 2 views
0

В основном у меня есть чат, и мне было интересно, как я буду это делать; В основном, как работает этот чат, пользователь вводит там сообщение в поле, а затем он отправляется в html-документ, а затем html-документ затем выводится в комнату чата и обновляется каждые 2 секунды. Мой вопрос: как я могу это сделать? что :wow вместо того, чтобы выходить как только :wow будет размещен как изображение вместо этого? Так что чат более привлекателен фотографиями и эмоциями. был ли предыдущий пост или что-то в этом роде, я просто не мог найти ничего, что соответствовало бы тому, что я искал.Chatroom Emoticons PHP

enter image description here

в чате очень просто вот код для отображения в комнате;

<script> 
$(document).ready(function(){ 
setInterval(function(){ 
$("#chathistory1").load('broadcast/uploads/<? echo $row['username'];?>/<? echo $row['username'];?>.html') 
}, 2000); 
}); 
</script> 
<div id="chathistory1"></div> 

Форма

<form action="chat.php" target="my_iframe" method="post" enctype="multipart/form-data" name="form1" id="form1" OnSubmit="setTimeout('clearForm()', 200); return true"> 
<div class="input-group"> 
<input name="name" type="hidden" id="name" size="16" maxlength="32" value="<?php echo $usr['username']; ?>" /> 
    <input type="hidden" name="n" id="n" value="<?php echo $room ?>" /> 
    <input id="btn-input" type="text" name="message" autocomplete="off" id="message" class="form-control input-sm" placeholder="Type your message here..." /> 
    <span class="input-group-btn"> 
         <button class="btn btn-primary btn-sm" id="btn-chat" onclick="testSubmit()"> 
          Send</button></form> 
+0

Где код, который отображает сообщения чата? – Ben

+0

Я приложил код к тому, как я загружаю чат, что я ищу в том, что когда пользователь пишет ': wow' или что-то, когда он отправляет его в документ the.html, который вместо него помещает' Johnny

ответ

0

Если вы читаете содержимое в PHP, вы можете использовать preg_replace():

$re = "/\:(wow)/"; 
$str = "OMG :wow have you seen this?"; 
$rep = "<img src='wowimg.gif'>"; 
$newstr = preg_replace($re, $rep, $str); 

echo $newstr; //will output "OMG <img src='wowimg.gif'> have you seen this?" 

В качестве альтернативы, в JavaScript с помощью replace() method:

var str = "OMG :wow have you seen this?"; 
var res = str.replace(":wow", "<img src='wowimg.gif'>"); 
console.log(res); //will output "OMG <img src='wowimg.gif'> have you seen this?" 

В своем коде, я предполагаю, что это легче сделать последний:

$(document).ready(function(){ 
    setInterval(function(){ 
     $.get('broadcast/uploads/<? echo $row['username'];?>/<? echo $row['username'];?>.html', function(data) { 
      var newdata = data.replace(/\:wow/g, "replacement!"); 
      $("#chathistory1").html(newdata); 
     }); 
    }, 2000); 
}); 
+0

Это действительно очень полезно знать спасибо за ответ; Я изменю, как я показываю свой чат, и буду использовать один из этих двух способов выше. Спасибо, очень полезно. – Johnny

+0

Я пробовал код ниже, однако он не заменил: wow? – Johnny

+1

@ LewisTyler Я сделал поправку, еще раз посмотрю на мой ответ! – Ben

Смежные вопросы