Как разобрать HTML, поступающий из базы данных - PullRequest
0 голосов
/ 13 января 2012

Как мне вывести HTML, который возвращается из базы данных после того, как он был декодирован обратно из html-сущностей в HTML.Я учусь использовать Tinymce, и я застрял.Я не могу повторить HTML, потому что он просто печатает его на странице.Должен ли я смотреть на сторону DOM с DOMDocument?Я видел этот вопрос, задаваемый на разных сайтах, но никогда не отвечал четко. Или, может быть, я такой новичок, что ответ прямо передо мной.Спасибо!

<?php
$page_title = "Brian Aylward comedy website";
$current_page = "home";

include("site_admin/tinymce/shows/db.php");
doDB();

$get_contents_sql = "SELECT * FROM tinymce_contents";
$get_contents_res = mysqli_query($mysqli, $get_contents_sql)
or die(mysqli_error($mysqli));

if ($get_contents_res = mysqli_query($mysqli, $get_contents_sql)) {

while ($row = mysqli_fetch_assoc($get_contents_res)) {

   $contents = $row['contents'];

   $fill_block = html_entity_decode($contents);
  }
}

mysqli_close($mysqli);


include_once'./includes/header.php'; ?>


<span id="mikemouth"></span>
<div id="jacket">

<h2 id="showtitle">LIVE DATES</h2>
<div id="shows">


    <div class="shows_content">

<?php

//I want to output the HTML here but can't use echo $fill_block; since it will print
//the HTML in the webpage when I want it parsed as HTML.Does it make sense?

?>

Ответы [ 2 ]

3 голосов
/ 13 января 2012

Если вы сохранили HTML в базе данных с помощью htmlentities (), вам нужно будет использовать html_entity_decode () при печати его в разметке.Хотя я бы посоветовал вам не хранить HTML с закодированными тегами.

Допустим, вы сохранили следующий HTML-код в базе данных после прохождения его через htmlentities ():

<a href="http://hello.com">hello</a>

Если вы напечатаете его, вы получите что-то вроде:

&lt;a href=&quot;http://hello.com&quot;&gt;hello&lt;/a&gt;

Чтобы правильно использовать его в TinyMCE, вам нужно будет передать его через html_entity_decode (), который произведет правильную разметку.

Теперь предположим, что в базе данных есть следующее:

<a href="http://hello.com">hello</a>

Вероятно, оно будет сохранено в следующем виде:

<a href=\"http://hello.com\">hello</a>

Вам нужно будет использовать полоски () на нем перед отправкой в ​​разметку

0 голосов
/ 13 января 2012

Вы можете использовать текстовую область для отображения HTML в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...