2012-01-12 9 views
0

htmlエンティティからHTMLにデコードされた後にデータベースから戻って来る出力HTMLをどうやって出力するのですか?私はTinymceの使い方を学んでいて、私は立ち往生しています。私はHTMLをエコーすることができません。なぜなら、HTMLをページに表示するだけなのでです。私はDOMDocumentでDOM側を見なければならないのですか? この質問はさまざまなサイトで尋ねられましたが、決して明確には答えられませんでした。または、私が答えが私の目の前にあるような初心者です。ありがとう!マークアップでそれを印刷するときデータベースから来るhtmlを解析する方法

<?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? 

?> 
+1

データの不具合の実際の例を示す必要があります。解析とは何が関係していますか?ちょうど二重エンコードされたような音。 – mario

+0

男、私は時々愚かです。それは二重コード化されました。私は昨日忘れていた、デバッグ中に、私はこれをした: "$ var = htmlentities(htmlentities($ elm));" !!私は一日中HTMLをエコーし​​ようとしていて、私の言うことを誰も理解できないとは信じられません。私は学んでいます... –

答えて

3

あなたがにhtmlentitiesでデータベースにHTMLを保存した場合は()、あなたは()がhtml_entity_decodeを使用する必要があるだろう。私はあなたが最初にエンコードされたタグでHTMLを格納しないことをお勧めしますが。

)(あなたがにhtmlentitiesを通過させた後、データベースに次のHTMLコードを格納していることとしましょう:

​​

あなたはそれを印刷する場合は、のようなものでしょう:

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

を使用するにはそれはTinyMCEで適切にマークアップを生成するhtml_entity_decode()に渡す必要があります。

今、あなたは、データベースに次のようしていると言うことができます:

​​

それはおそらく、このように見て保存されます。

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

あなたはそれを送信する前に、それにstripslashes()を使用する必要がありますマークアップ

+0

私はすでにすべてこれをやっています。問題は、ブラウザにHTMLを解析させる方法です。 div内でechoを使用すると、HTMLをそのままレンダリングせずに出力します。 –

+0

TinyMCEを使用している場合は、すべてのHTMLコードを