2012-03-14 130 views
0

以下注釋結束標記在IE(所有版本)被忽略,所以一噸以下元件中的註釋:HTML註釋結束標記

<a class="dynamic_embed_video"> 
    <?php echo '<!-- ' . get_post_meta($post->ID, "embed_code") . ' -->'; ?> 
</a> 

在IE中,所輸出的評論繼續通過結束標記,直到另一條評論打開並關閉頁面下方的標記才結束。

(FYI的原因,我這樣做是動態嵌入在用戶點擊視頻預覽圖像,以加快頁面加載時間)

+8

不要向我們展示PHP。向我們展示HTML。問題可能在於'get_post_meta'的輸出。 – Quentin 2012-03-14 19:18:45

+0

正如@Quentin所說,HTML是必要的,因爲這實際上是以錯誤的方式解析IE ... – 2012-03-14 19:21:00

+1

我猜「embed_code」也在輸出註釋,它們正在嵌套。 – bfavaretto 2012-03-14 19:21:22

回答

2

如果你做這樣的

<a class="dynamic_embed_video"> 
    <!-- <?php echo get_post_meta($post->ID, "embed_code"); ?> --> 
</a> 

它仍被IE忽略?

另外,檢查你的函數返回的代碼,看看裏面是否有另一個HTML註釋。

+0

修復它,謝謝! – jetlej 2012-03-14 19:25:35

2

嘗試將get_post_meta的輸出打包在htmlspecialchars之內,以使其在HTML輸出中轉儲爲「安全」。