2012-03-14 222 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输出中转储为“安全”。