2011-10-25 235 views
0

所以也許有人可以幫助我走上正確的軌道。取代表情符號:)到圖像PHP

我有一個留言板多數民衆贊成的作品,現在我試圖改變表情符號:)表情符號。

我可以顯示數據庫中的表情符號,但當即時消息在留言簿中輸入時,它不會更改爲圖標。我認爲這是我的while循環,但我無法得到它,因爲我是一個新秀。

我的textarea代碼

<form action='process.php' method='post'> 

<p>Name: <input type='text' name='name' id='name' /> </p> 
<p>Email: <input type='text' name='email' id='email' /> </p> 
<p>Comment: </p> 
    <p><textarea name='comment' rows="7" cols="40"></textarea></p> 
    <hr /> 
    <p><input type='submit' name='submit' value='Post Entry' /></p> 
     </form> 

這是我的PHP代碼。

<?php 
    $path = "images"; 

    $db = mysql_connect('localhost', 'root', '') or die("Error: Couldn't connect to database"); 
    $db = mysql_select_db("guestbook"); 

    $query = "SELECT emote, image FROM emoticons"; 
    $result = mysql_query($query); 


    /*EMO ovanför*/ 

    $connect = mysql_connect('localhost','root','') or die ('FEL INDEX'); 
$db = mysql_select_db('guestbook'); 

    $query = mysql_query('select * from guestbook order by id desc'); 
    $num_rows = mysql_num_rows($query); 

    if($num_rows > 0){ 

    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    $emotes[] = $row['emote']; 
    $images[] = "<img src='" . $path . "/" . $row['image'] . "'>"; 
    } 
    // Query the database, and assign the result-set to $result 

     //display entries 
     while($row = mysql_fetch_assoc($query)){ 
      echo " 
      <p> 
      <b>Name: </b>".$row['name']." 

      </p> 

      <p> 
      <b>Email: </b>".$row['email']." 

      </p> 

      <p> 
      <b>Comment: </b>".$row['comment']." 
      </p> 

      <p> 
      <b>Date: </b>".$row['date']." | Time: ".$row['time']." 
      </p> 
      <hr /> 
      "; 

     } 
    $text = ":) ;) :(:p "; 
    echo str_replace($emotes, $images, $text); 

     } 



    ?> 

正如你所說,我最後一行是從數據庫中獲取圖像。這就像一個魅力,但當我在留言簿上寫上表情符號時不起作用。

+1

看看這有助於HTTP是更好://www.devarticles .com/c/a/MySQL/Quick-and-Dirty-Emoticons/1 /,如標題所示,「快速而髒」 – david

+0

這有助於理解如何從數據庫中顯示錶情符號,但不會更改表情符號留言表情符號:) < 對不起,但我是一個新手:) – Dymond

+0

什麼劑量你的'textarea'輸入代碼看起來像和JS,請發佈 – david

回答

0

您將不能直接在textarea中顯示emoticons images,例如您需要複製輸入像SO劑量並在html元素中顯示格式化輸出。

+0

這真的是我試圖完成,但我不能得到如何=/ – Dymond

1

必須更換,應該是笑臉以相似圖片的字符串:

$row['comment'] =str_replace(':)','<img src="smile.jpg">', $row['comment']); 

直接在您光顧。

圖像的路徑必須是正確的obv。

你可以只複製所有的表情,但它如果你創建一個數組中,你的笑臉,然後更換一個新的循環

+0

但我可以改變這 $ row ['comment'] = str_replace(':)','',$ row ['comment']); 有了這個$ images [] =「」; 因此,我可以從一個數據庫中使用數據庫中的表情符號? – Dymond

+0

當然你可以從數據庫中獲取它們。但第一行做了與第二行不同的事情。將數據庫中的表情符號讀取到數組中(不是像實際做的那樣使用2,使用一個值作爲索引),然後使用foreach循環訪問數組並替換內容 – Flo

+0

將盡力使:) – Dymond