[PHP] ใช้ระบบแทนที่ข้อความในห้องแชท เพื่อทำเป็น Emoticon [ถามปัญหาครับ ด่วนมาก TT]
แก้ไขครั้งสุดท้ายโดย arafarn12 เมื่อ 2011-9-27 13:25แก้ไขครั้งสุดท้ายโดย arafarn12 เมื่อ 2011-9-27 13:22
คือ ผมทำแชท PHP กับระบบ AjaxPHPChat ของ Thaicreate ครับ
--- อ้างอิง : http://www.thaicreate.com/tutorial/ajax-chat-room.html
ตอนนี้ผมใช้ฟังค์ชั่นการแทนที่ข้อความเปลี่ยนเป็นรูปภาพ เพื่อทำเป็น Emoticon ซึ่งผมก็ได้ดังนี้ครับ{
//*** Write Text file ***//
$objFopen = fopen("data/".$strFileName, 'a');
$strText1 = $em->apply("$strName say : $strMessage\r\n");
$em = new Emoticon();
$em->add(':)','../../pic/angry.gif');
$em->add(':P','../../pic/aysmile.gif');
$em->add('<:)','../../pic/beer.gif');
fwrite($objFopen, $strText1);
fclose($objFopen);
}
จะเห็นได้ชัดว่า$strText1 = $em->apply("$strName say : $strMessage\r\n");เป็นโค้ดไม่ถูกต้อง แต่ผมจะทำไงให้มันได้อ่ะครับ ให้ $em Apply ข้อความที่ถูกส่งมา โดนแทนที่เป็นอีโมติคอน
ผมงงมากเลย นั่งมัวอยู่นานละ TT
ขอช่วยหน่อยนะครับ TT
( PHP Web Other หากตั้งคำถามไม่ได้ ลบไปเลบครับ ... )
เพิ่มเติมนะครับ
$strName = ชื่อผู้ส่งข้อความ
$strMessage = ข้อความที่ถูกส่ง
บันทึกข้อความในไฟล์ .txt เดี๋ยว พี่เอ / พี่นิว / เฮน มาเมื่อใหร่ จะลากให้มาตอบกระทู้ทันที sm914dz ต้นฉบับโพสต์โดย popiazaza เมื่อ 2011-9-27 15:52 static/image/common/back.gif
ไม่มีชื่อผม ... งั้นผมไม่ตอบปัญหาให้ละกัน 55+ ...
:curse: ตอบมา ๆๆๆๆ {:18_786:} ที่แน่ๆ$strText1 = $em->apply("$strName say : $strMessage\r\n");ต้องอยู่หลังการกำหนดคลาส (เขาเรียกอย่างนี้หรือเปล่านะ) ครับ บอก ตรง ๆ ไม่เคยทำ chat
แต่ถ้าพื้นฐานน่าจะแบบนี้function Emotion($strMessage){
$emo = array(
"url/image/emo1.jpg",
"url/image/emo2.jpg",
"url/image/emo3.jpg",
"url/image/emo4.jpg",
"url/image/emo5.jpg"
);
$strMessage=str_replace("emo1",$emo,$strMessage);
$strMessage=str_replace("emo2",$emo,$strMessage);
$strMessage=str_replace("emo3",$emo,$strMessage);
$strMessage=str_replace("emo4",$emo,$strMessage);
$strMessage=str_replace("emo5",$emo,$strMessage);
return $strMessage;
}
สมมุติ ชื่อ อีโม
emo1
emo2
emo3
emo4
emo5
เวลาใช้งาน
$strMessage = Emotion($strMessage);
แก้ไขครั้งสุดท้ายโดย rokaisakkon เมื่อ 2011-9-27 17:42
เห็น jchat ไป ดึงในdbมาแล้ว เขียนไฟล์ php ตามหลักการด้านบนอะ แก้ไขครั้งสุดท้ายโดย ฉลาด เมื่อ 2011-9-27 21:59
แก้ไขครั้งสุดท้ายโดย ฉลาด เมื่อ 2011-9-27 17:52
แต่ขอผมแบบนี้น่ะ<style type="text/css">
@import url(style1.css);
</style>
<?php error_reporting(E_ERROR); ?>
<head>
<script type="text/javascript">
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{alert(alerttxt);return false}
else {return true}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_required(entry,"ยังไม่ได้ใส่อะไรเลย")==false)
{entry.focus();return false}
}
}
</script>
</head>
<?php
session_start();
header("Cache-control: private");
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<script>
function show_it(layername) {
document.getElementById(layername).style.display = 'inline';
}
function hide_it(layername) {
document.getElementById(layername).style.display = 'none';
}
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=150,height=350,left = 580,top = 262');");
}
function addSmiley(code)
{
var comments = document.getElementById("chat")
var cache = comments.value;
this.code = code;
comments.value = cache + "" + code + " ";
comments.focus();
}
</script>
</head>
<body onLoad="<br />
<br />
<div class="formarea">
<font face="MS Sans Serif" size="3" color="#800000">emo : </font>
<img src=ที่เก็บ EMO/1.gif" onclick="addSmiley('<img src= ที่เก็บ EMO /1.gif>');" />
<img src="ที่เก็บ EMO/2.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/2.gif>');" />
<img src="ที่เก็บ EMO/3.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/3.gif>');" />
<img src="ที่เก็บ EMO/4.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/4.gif>');" />
<img src=ที่เก็บ EMO/5.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/5.gif>');" />
<img src="ที่เก็บ EMO/6.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/6.gif>');" />
<img src="ที่เก็บ EMO/7.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/7.gif>');" />
<img src="ที่เก็บ EMO/8.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/8.gif>');" />
<img src="ที่เก็บ EMO/9.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/9.gif>');" />
<img src="ที่เก็บ EMO/10.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/10.gif>');" />
<img src="ที่เก็บ EMO/11.gif" onclick="addSmiley('<img src=ที่เก็บ EMO/11.gif>');" />
</div>
<br />
<form action="" onSubmit="return validate_form(this)" method="post">
<input type="text" name="entry" id="chat" size="100" class="" style="font-family: Microsoft Sans Serif; font-size: 10pt; color: #000080; border: 1px dotted #800000; background-color: #CCFFCC" />
<input type="submit" name="submit" value="แชร์" style="font-family: Microsoft Sans Serif; font-size: 10pt; color: #800000; border: 1px dashed #008000; background-color: #CCFF99">
<input type="hidden" name="sub">
</form>
</form>
<?php
if (isset($_POST['sub'])) {
$entry = $_POST['entry'];
$newline = "\n";
$user = $_SESSION['name'];
$font = "<font color=".$_SESSION['color'].">";
$endfont = "</font>";
$fp = fopen("./chatscript.txt","a");
if(!$fp) {
echo 'Error: Cannot open user file, you may need to sign up (again).';
exit;
}
fwrite($fp, $font.$user.": ".$entry.$endfont."<br>".$newline);
fclose($fp);
}
?>
1.gif
1.gif
2.gif
3.gif
4.gif
5.gif
6.gif
7.gif
8.gif
9.gif
10.gif
11.gif
แทน emo
นี่ครับที่ผมทำ
บวกให้มั่งจิ
ผมไม่แน่ใจนะ
"str_replace"
คำสั่งนี้อ่าครับ ต้นฉบับโพสต์โดย cyber2friends เมื่อ 2011-9-27 17:44 static/image/common/back.gif
ผมไม่แน่ใจนะ
"str_replace"
คำสั่งนี้อ่าครับ ...
"str_replace" เดาๆเอานะคือเรียกอีโมขึ้นมาไง
หน้า:
[1]