2017-07-13 5 views
0

私のコードの動作原理は次のとおりです。入力行にこのようなスマイリー( ":)"、 ":(")がある場合、それらを写真で置き換える必要があります。ここで私はそれを行う方法は次のとおりです。htmlコードが "データベース"に書き込まれないようにするにはどうすればいいですか?

$smile = array(":)", ":("); 
$grafic = array("<img src = './image/Smile.png' alt='Smile' align='middle'>", 
    "<img src = './image/Sad.png' alt='Smile' align='middle'>");  
$new_message = str_replace($smile, $grafic, $message); 

$file = "../data/messages.json"; 
$json_content = json_decode(file_get_contents($file), true); 

if (!empty($new_message)) { 
    $json_content[] = array("time" => $time, "user" => $user, "message" => $new_message); 
    file_put_contents($file, json_encode($json_content, JSON_PRETTY_PRINT)); 
} 

しかし、その後、私は、「データベース」(jsonファイル)に書き込み、そこに私たちは以下を参照してくださいすることができ、すでに変更された文字列書き留めする必要があります。

[ 
    { 
     "time": "1499985376", 
     "user": "Max", 
     "message": "Hello <img src = '.\/image\/Smile.png' alt='Smile' align='middle'>" 
    } 
] 

HTMLタグの代わりに「スマイル」または「悲しい」という単語を書くにはどうすればよいですか?

+2

生の書式や修正版(たとえば ':smile:')で保持しておき、それをHTMLとして表示する必要があるときに変換を処理するのはなぜですか? – tadman

+0

@tadmanどうやったらできますか? –

+0

ステップ1:あなたはどんな表記にでも ':)'を変換します。ステップ2:保存します。ステップ3:それをHTMLに変換する別の関数を書いてください。 – tadman

答えて

0
  1. ただ、新しい変数を作成し、同様に、 変更を加える前に、メッセージを保存:$rawMessage = $message;
  2. 次に、$rawMessageを使用して、メッセージをデータベースに保存します。
+0

しかし、私はちょっとした問題があります。データをファイルに書き込んだ後、ファイルから取得して画面に表示する必要があります。しかし、スマイリーは ":)"です。私に教えてください、写真のためにスマイリーを置き換えて別の「操作」なしで何とかそれらを修正することは可能ですか? –

+0

両方のメッセージをファイルに書き込むことができます。また、生のメッセージだけをファイルに書き込むこともでき、ファイルをロードするたびにスマイリーを置き換えることができます。 2番目のアプローチは広く使われている方法です。 –

関連する問題