从包含DIV元素转义的PHP echo语句

时间:2012-10-10 14:07:36

标签: php html dom echo

背景:我正在为WordPress 3.4.2编辑自定义管理页面,这是我正在制作的插件的一部分。

我的HTML中有一小段PHP代码,用于检查变量是否存在,如果有变量则打印出来:

<div id='ajax-response'>
    <?php
    if(isset($_infos) && !empty($_infos)){
        echo $_infos;
    }
    ?>
</div>

但是,当页面以一种意味着变量具有值的方式运行时,输出实际上不在#ajax-response <div>内,而是直接在它上面,如下所示:

<div id="message" class="updated fade"><p>Download display details updated.</p></div>
<div id='ajax-response'></div>

#ajax-response <div>的重点是包含所有反馈,包括页面本身和任何AJAX调用,所以它们都一起显示并具有相同的样式 - 并且都可以很容易从页面中删除 - 所以这很烦人。

最奇怪的是,当我查看源代码时,它就像#ajax-response <div>一样,但是在Chrome的检查器中,当被Javascript引用时,它被视为在{{{ 1}}。

为什么会发生这种情况?

2 个答案:

答案 0 :(得分:0)

我不确定,但请检查php文件,它会将输出提供给您的javascript文件。或者在替换ajax-responce div的内容之前尝试在js文件中发出警报(来自php文件的响应)。

答案 1 :(得分:0)

我知道这个主题已经死了,但我遇到的问题与我编写的几段代码完全相同。 ECHO导致了这个问题。当我将我的函数交换到RETURN而不是ECHO时,它立即修复了它。