Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何防止html代码被写入;数据库;?_Php_Json_Database_Smile - Fatal编程技术网

Php 如何防止html代码被写入;数据库;?

Php 如何防止html代码被写入;数据库;?,php,json,database,smile,Php,Json,Database,Smile,我的代码的工作原理如下:如果在输入行中有这样的笑脸(“:)”,“:(”),则需要用图片替换它们。我是这样做的: $smile = array(":)", ":("); $grafic = array("<img src = './image/Smile.png' alt='Smile' align='middle'>", "<img src = './image/Sad.png' alt='Smile' align='middle'>"); $new_me

我的代码的工作原理如下:如果在输入行中有这样的笑脸(“:)”,“:(”),则需要用图片替换它们。我是这样做的:

$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));
}
如何用“微笑”或“悲伤”来代替
HTML
标记

  • 只需创建一个新变量并保存消息,然后再进行 更改,如:
    $rawMessage=$message
  • 然后使用
    $rawMessage
    将消息保存到数据库中

  • 为什么不将其保持为原始格式或相同的固定版本(例如,
    :smile:
    ),然后在需要将其显示为HTML时进行转换?@tadman我怎么做?步骤1:将
    :)
    转换为您想要的任何符号。第二步:保存它。第三步:编写另一个函数将其转换为HTML。但现在我有一个小问题:你看,在我将数据写入文件后,我需要从文件中获取数据并在屏幕上显示它们。但也有笑脸“:”。请告诉我,是否可以在不进行另一个“操作”的情况下,以某种方式将它们更正为图片,并将笑脸替换为图片?您可以将这两条消息都写入该文件。您还可以只将原始消息写入文件,并且每次加载文件时都替换笑脸。第二种方法是广泛使用的方法。
    [
        {
            "time": "1499985376",
            "user": "Max",
            "message": "Hello <img src = '.\/image\/Smile.png' alt='Smile' align='middle'>"
        }
    ]