Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20231001 Rev.8 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 5564|ตอบกลับ: 8

[PHP] [PHP] ใช้ระบบแทนที่ข้อความในห้องแชท เพื่อทำเป็น Emoticon [ถามปัญหาครับ ด่วนมาก TT]

[คัดลอกลิงก์]
arafarn12 โพสต์ 2011-9-27 13:22:15 |โหมดอ่าน
แก้ไขครั้งสุดท้ายโดย 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 ซึ่งผมก็ได้ดังนี้ครับ
  1. {       
  2.                 //*** Write Text file ***//
  3.                 $objFopen = fopen("data/".$strFileName, 'a');
  4.                
  5.                 $strText1 = $em->apply("$strName say : $strMessage\r\n");
  6.                
  7.                 $em = new Emoticon();
  8.                 $em->add(':)','../../pic/angry.gif');
  9.                 $em->add(':P','../../pic/aysmile.gif');
  10.                 $em->add('<:)','../../pic/beer.gif');

  11.                
  12.                
  13.                 fwrite($objFopen, $strText1);
  14.                 fclose($objFopen);
  15.         }
คัดลอกไปที่คลิปบอร์ด
จะเห็นได้ชัดว่า
  1. $strText1 = $em->apply("$strName say : $strMessage\r\n");
คัดลอกไปที่คลิปบอร์ด
เป็นโค้ดไม่ถูกต้อง แต่ผมจะทำไงให้มันได้อ่ะครับ ให้ $em Apply ข้อความที่ถูกส่งมา โดนแทนที่เป็นอีโมติคอน

ผมงงมากเลย นั่งมัวอยู่นานละ TT


ขอช่วยหน่อยนะครับ TT


( PHP Web Other หากตั้งคำถามไม่ได้ ลบไปเลบครับ ... )


เพิ่มเติมนะครับ

$strName = ชื่อผู้ส่งข้อความ
$strMessage = ข้อความที่ถูกส่ง

บันทึกข้อความในไฟล์ .txt
 เจ้าของ| arafarn12 โพสต์ 2011-9-27 15:06:02
เดี๋ยว พี่เอ / พี่นิว / เฮน มาเมื่อใหร่ จะลากให้มาตอบกระทู้ทันที
 เจ้าของ| arafarn12 โพสต์ 2011-9-27 16:15:19
ต้นฉบับโพสต์โดย popiazaza เมื่อ 2011-9-27 15:52
ไม่มีชื่อผม ... งั้นผมไม่ตอบปัญหาให้ละกัน 55+ ...

ตอบมา ๆๆๆๆ {:18_786:}
Mr.Jak โพสต์ 2011-9-27 17:25:44
ที่แน่ๆ
  1. $strText1 = $em->apply("$strName say : $strMessage\r\n");
คัดลอกไปที่คลิปบอร์ด
ต้องอยู่หลังการกำหนดคลาส (เขาเรียกอย่างนี้หรือเปล่านะ) ครับ
rokaisakkon โพสต์ 2011-9-27 17:34:39
บอก ตรง ๆ ไม่เคยทำ chat

แต่ถ้าพื้นฐานน่าจะแบบนี้
  1. function Emotion($strMessage){

  2. $emo = array(
  3. "url/image/emo1.jpg",
  4. "url/image/emo2.jpg",
  5. "url/image/emo3.jpg",
  6. "url/image/emo4.jpg",
  7. "url/image/emo5.jpg"
  8. );

  9. $strMessage=str_replace("emo1",$emo[0],$strMessage);
  10. $strMessage=str_replace("emo2",$emo[1],$strMessage);
  11. $strMessage=str_replace("emo3",$emo[2],$strMessage);
  12. $strMessage=str_replace("emo4",$emo[3],$strMessage);
  13. $strMessage=str_replace("emo5",$emo[4],$strMessage);

  14. return $strMessage;
  15. }





  16. สมมุติ ชื่อ อีโม

  17. emo1
  18. emo2
  19. emo3
  20. emo4
  21. emo5


  22. เวลาใช้งาน

  23. $strMessage = Emotion($strMessage);
คัดลอกไปที่คลิปบอร์ด

คะแนน

จำนวนผู้เข้าร่วม 1จิตพิศัย +1 ย่อ เหตุผล
arafarn12 + 1 ขอบคุณมากครับ

ดูบันทึกคะแนน

rokaisakkon โพสต์ 2011-9-27 17:39:57
แก้ไขครั้งสุดท้ายโดย rokaisakkon เมื่อ 2011-9-27 17:42

เห็น jchat ไป ดึงใน  db  มาแล้ว เขียนไฟล์ php ตามหลักการด้านบนอะ

คะแนน

จำนวนผู้เข้าร่วม 1จิตพิศัย +1 ย่อ เหตุผล
arafarn12 + 1 ขอบคุณมากครับ

ดูบันทึกคะแนน

ฉลาด โพสต์ 2011-9-27 17:41:02
แก้ไขครั้งสุดท้ายโดย ฉลาด เมื่อ 2011-9-27 21:59

แก้ไขครั้งสุดท้ายโดย ฉลาด เมื่อ 2011-9-27 17:52



แต่ขอผมแบบนี้น่ะ
  1. <style type="text/css">
  2.    @import url(style1.css);
  3.   </style>
  4. <?php error_reporting(E_ERROR); ?>


  5. <head>
  6. <script type="text/javascript">
  7. function validate_required(field,alerttxt)
  8. {
  9. with (field)
  10. {
  11. if (value==null||value=="")
  12.   {alert(alerttxt);return false}
  13. else {return true}
  14. }
  15. }

  16. function validate_form(thisform)
  17. {
  18. with (thisform)
  19. {
  20. if (validate_required(entry,"ยังไม่ได้ใส่อะไรเลย")==false)
  21.   {entry.focus();return false}
  22. }
  23. }
  24. </script>
  25. </head>



  26. <?php
  27. session_start();
  28. header("Cache-control: private");
  29. ?>


  30. <head>
  31. <meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
  32. <script>
  33. function show_it(layername) {
  34. document.getElementById(layername).style.display = 'inline';
  35. }
  36. function hide_it(layername) {
  37. document.getElementById(layername).style.display = 'none';
  38. }
  39. function popUp(URL) {
  40. day = new Date();
  41. id = day.getTime();
  42. 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');");
  43. }
  44. function addSmiley(code)
  45. {
  46. var comments = document.getElementById("chat")
  47. var cache = comments.value;
  48. this.code = code;
  49. comments.value = cache + "" + code + " ";
  50. comments.focus();
  51. }
  52. </script>
  53. </head>
  54. <body onLoad="<br />
  55. <br />
  56. <div class="formarea">
  57. <font face="MS Sans Serif" size="3" color="#800000">emo : </font>
  58. <img src=ที่เก็บ EMO/1.gif" onclick="addSmiley('&lt;img src= ที่เก็บ EMO /1.gif&gt;');" />
  59. <img src="ที่เก็บ EMO/2.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/2.gif&gt;');" />
  60. <img src="ที่เก็บ EMO/3.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/3.gif&gt;');" />
  61. <img src="ที่เก็บ EMO/4.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/4.gif&gt;');" />
  62. <img src=ที่เก็บ EMO/5.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/5.gif&gt;');" />
  63. <img src="ที่เก็บ EMO/6.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/6.gif&gt;');" />
  64. <img src="ที่เก็บ EMO/7.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/7.gif&gt;');" />
  65. <img src="ที่เก็บ EMO/8.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/8.gif&gt;');" />
  66. <img src="ที่เก็บ EMO/9.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/9.gif&gt;');" />
  67. <img src="ที่เก็บ EMO/10.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/10.gif&gt;');" />
  68. <img src="ที่เก็บ EMO/11.gif" onclick="addSmiley('&lt;img src=ที่เก็บ EMO/11.gif&gt;');" />
  69. </div>
  70. <br />

  71. <form action="" onSubmit="return validate_form(this)" method="post">
  72. <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" />
  73.   <input type="submit" name="submit" value="แชร์" style="font-family: Microsoft Sans Serif; font-size: 10pt; color: #800000; border: 1px dashed #008000; background-color: #CCFF99">
  74.   <input type="hidden" name="sub">
  75. </form>

  76. </form>


  77. <?php
  78. if (isset($_POST['sub'])) {       


  79. $entry = $_POST['entry'];
  80. $newline = "\n";
  81. $user = $_SESSION['name'];
  82. $font = "<font color=".$_SESSION['color'].">";
  83. $endfont = "</font>";



  84. $fp = fopen("./chatscript.txt","a");

  85. if(!$fp) {
  86.     echo 'Error: Cannot open user file, you may need to sign up (again).';
  87.     exit;
  88. }

  89. fwrite($fp, $font.$user.":  ".$entry.$endfont."<br>".$newline);

  90. fclose($fp);


  91. }
  92. ?>

คัดลอกไปที่คลิปบอร์ด
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

นี่ครับที่ผมทำ


บวกให้มั่งจิ

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x
cyber2friends โพสต์ 2011-9-27 17:44:08
ผมไม่แน่ใจนะ
"str_replace"
คำสั่งนี้อ่าครับ

แสดงความคิดเห็น

ใช้ตัวนั้นแหละครับ ปวด กบาลมาก  โพสต์ 2011-9-27 19:30
ฉลาด โพสต์ 2011-9-27 17:56:43
ต้นฉบับโพสต์โดย cyber2friends เมื่อ 2011-9-27 17:44
ผมไม่แน่ใจนะ
"str_replace"
คำสั่งนี้อ่าครับ ...

"str_replace" เดาๆเอานะคือเรียกอีโมขึ้นมาไง

แสดงความคิดเห็น

ผมหมายถึงว่า ไม่แน่ใจว่าใช่รึเปล่า ผมไปค้นดูมามันคือคำสั่งแทนทีครับ  โพสต์ 2011-9-27 19:12
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-4-28 12:43

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้