             }
             
             cell.image_view.downloadByImageUrl(item.msg.substringFromIndex("[image]".endIndex))
+        }
+        else if item.msg.containsString("[html]") {
+            if item.sender == device_id {
+                cell = self.tableView.dequeueReusableCellWithIdentifier("send_text")! as! TextTalkCell
+            }
+            else {
+                cell = self.tableView.dequeueReusableCellWithIdentifier("recv_text")! as! TextTalkCell
+            }
+            
+            let htmlText = item.msg.substringFromIndex("[html]".endIndex)
+            
+            let encodedData = htmlText.dataUsingEncoding(NSUTF8StringEncoding)!
+            
+            let attributedOptions : [String : AnyObject] = [
+                NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType,
+                NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding,
+                ]
+            
+            do {
+                let attributedString = try NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil)
+                
+                cell.textView.attributedText = attributedString
+                cell.textViewWidthConstraint.constant = UIScreen.mainScreen().bounds.size.width*0.7
+                cell.textView.delegate = self
+            }
+            catch {
+                print("error")
+            }
         }
         else {
             if item.sender == device_id {

        "http://file3.funshop.co.kr/abroad/012/6241/thumbnail_1.jpg"
        ]
        
        manager.sendData("[image]\(images[Utility.random(items.count-1)])".dataUsingEncoding(NSUTF8StringEncoding), topic: "\(mqttSettings["base"]!)/\(device_id)", qos: .ExactlyOnce, retain: false)
    }
    
    // MARK - MQTTSessionManagerDelegate

        //        tableView.setContentOffset(currentOffset, animated: false)
    }
    
    func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool {
        print("shouldInteractWithURL : \(URL)")
        return true
    }
    
    // MARK - Etc Function
    func scrollToLast() {
        let last_item_index = items.count-1
