запретить использование html-тегов и других символов в обычном тексте json

#php #html #sql #json #wordpress

#php #HTML #sql #json #wordpress

Вопрос:

я столкнулся с проблемой в моем json. я извлекаю данные wp-json с другого веб-сайта и сохраняю в базе данных mysql. все работает отлично. но в описании поста — показано что-то вроде этого: смотрите скриншот

можете ли вы видеть <p> <a> <strong> <blockquote> <script> amp;mdash; и многое другое, что не относится к этому сообщению. я хочу их удалить. но я не понимаю, как я могу это сделать. и что мне нужно показать вам, чтобы решить эти проблемы?

у меня есть база данных sql, функции php для хранения json из URL, а также приложение для Android. я не понимаю, в чем проблема?

Ответ №1:

Вы можете использовать strip_tags функцию (см. Ссылку). Он удаляет все теги html и php из строки, а также любые нулевые байты. Если вы хотите сохранить определенные теги в будущем, вы можете передать их в качестве второго параметра.

 $stripped_string = strip_tags($original_string);
  

В качестве отступа я хочу отметить, что если вы полностью удалите теги, вам нужно будет переформатировать содержимое публикации каждый раз, когда вы загружаете их из базы данных. Если вы хотите сохранить форматирование, но защитить себя от атак с использованием инъекций, вам следует изучить htmlspecialchars функцию. Он кодирует html-теги, чтобы вы могли безопасно хранить строку в своей базе данных, и вам не нужно восстанавливать форматирование при каждой загрузке страницы. Просто вызовите htmlspecialchars_decode при загрузке содержимого post из базы данных.