PHP MySql отображает возвращаемый контент без удаления HTML-тегов - PullRequest
1 голос
/ 04 марта 2011

У меня есть столбец в типе данных SQL 'Text', и внутри у меня есть содержимое в теге html, например,

somecontent:

  • one
  • two
... Я хочу, чтобы запрос mysql выводил содержимое базы данных, не убирая html-теги (возможно, это делается php по соображениям безопасности или?), Так что html-код будет отображаться, если вы меня поймете? На данный момент это просто параграф, который выглядит ужасно! Следует отметить, что безопасность не является большой проблемой, так как это проект, который не будет публично раскрыт

Приветствия людей

Ник

Ответы [ 3 ]

1 голос
/ 04 марта 2011

MySQL не будет удалять теги из текста - его не волнует, что это за текст. PHP также не будет удалять теги, если где-то в вашем коде вы не сделаете strip_tags() или эквивалентный.

Если вы хотите, чтобы браузер отображал теги в полученных данных, вы можете запустить строку через [htmlspecialchars()][1], который преобразует метасимволы html (<, >, ", & и т. д.) к эквивалентам их символьных сущностей (&lt;, &gt; и т. д.).

Или вы можете заставить всю страницу отображаться как обычный текст, выполнив

header('Content-type: text/plain');
0 голосов
/ 26 апреля 2018

Используйте функцию htmlspecialchars_decode ().Это прекрасно работает для меня ...

Используйте руководство

Ваш текст с кодом

<?php

$text = " 
<html>
<head>
    <title>Page Title</title>
</head>
<body>
     Reference site about Lorem Ipsum, giving information on its origins, as well as a random Lipsum generator.
</body>
</html> ";

OR

$text = $row['columnname'];  // Here define your database table column name.

echo htmlspecialchars_decode($text);  

?>

Вывод:

Справочный сайт о Lorem Ipsum, содержащий информацию о его происхождении, а также случайный генератор Lipsum.

0 голосов
/ 04 марта 2011

Содержимое базы данных не удаляется PHP, если вы явно не указали это.Вы уверены, что ваши теги не были удалены, прежде чем они были вставлены?

Или попробуйте stripslashes();

...