PHP变量作为HTML元素ID

时间:2014-07-07 10:19:44

标签: php parsing element uniqueidentifier

我正在尝试创建一个新闻网站(更新现有网站,真的基于CMSMS,它有很多自动生成的代码,似乎会导致各种各样的问题。)无论如何,我正在更新模板,其中,而不是去一个新的网站,其中发布了属于简历的文章,我希望简历隐藏div与简历文本在其中点击“阅读更多”按钮。我知道如何制作切换按钮以及所有这些,问题是在同一页面上的几个简历需要自动在模板中设置的唯一ID。我的想法是通过以下方式生成它们:

<?php $firstId = uniqid(); $secondId = uniqId(); ?>

然后我会这样称呼他们:

<div id="<?php echo $firstId; ?>" class=""> perhaps <span>here </span> or whatevs.</div> 

然后类似于第二个Id。这样做的想法是,我将能够通过简单地瞄准$ firstId fx来从JS定位这些Div。

但是,如果我右键单击并使用firebug检查元素,我只需

id="<?php echo $firstId; ?>"

而不是:

id="someUniqueId"

所以问题是如何让它实际解析代码,以便我可以通过ID调用元素?例如将其可见性设置为隐藏。

3 个答案:

答案 0 :(得分:0)

无法分辨问题的解决方案,因为它是一个自定义软件。但问题本身很容易识别,PHP不会被解析和执行。这就是为什么你在HTML输出中看到PHP开始和结束标记。

如果您问我,使用uniqid()似乎是一个坏主意,因为您将无法直接定位JavaScript中的任何元素。此功能的开销也完全没必要。

只需使用一个计数器为您使用任意数字初始化的元素,并使用您输出的每个元素递增它。

答案 1 :(得分:0)

试着考虑一下。

ob_start();
include_once "your_html_with_php_code_file"; 
$output = ob_get_contents();
ob_end_clean();

$ output将是您需要的东西。

答案 2 :(得分:0)

我最终使用for循环逐个遍历每个元素,以css类为目标,在这种情况下它们只是空的。

因为我可以控制每页显示多少个对象,以及完整文章和摘要的模板,我可以使用简单的数字,确保每次都是唯一的。< / p>

脚本只需遍历页面,即div中包含i&#39; m定位元素的所有按钮,值为0-9。 然后它给包含完整文章的Div包含当前按钮ID + 40的ID,导致它们从40-49开始

然后摘要从20-29开始

然后剩下的代码只是tagerts特定元素,最初使用按钮ID,然后只是减去/添加两个不同变量中的值,以获得文章ID和摘要ID,然后我从那里开始工作。它工作得很好,即使它有点简单。

灵感来自你的回答Fleshgrinder,谢谢:)。