Как не допустить записи html кода в “базу данных”?

191
15 июля 2017, 09:14

Принцип работы моего кода следующий: если в введенной строке есть такие строчные смайлики(":)", ":(") то нужно их заменить на картинки. Вот как я это делаю:

$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'>"
    }
]

Как мне сделать так что бы в файл записывалось, например, слово "Smile" или "Sad" вместо HTML кода?

Answer 1

Функция strip_tags удаляет html и php теги из строки.

Пример:

echo strip_tags("<p>Какой-то текст</p>");

Результат вывода:

Какой-то текст

Ссылка на документацию

READ ALSO
Получить часть url (id)

Получить часть url (id)

Здравствуйте!

287
Совмещение front-end фреймворков с паттерном MVC

Совмещение front-end фреймворков с паттерном MVC

Из front-end фреймворков выбрал Vuejs

202
Не выбранный &lt;select&gt;

Не выбранный <select>

Возник вопрос как есть 4 селекта какЕсли какой то из них не выбран то есть по умолчанию стоит первый не учитывать его и выводить данные из бд на основе...

190
Вставка элемента в фигурные скобки в html

Вставка элемента в фигурные скобки в html

Здравствуйте! Есть такой html код:

147