我正在尝试使用HTML
获取页面的PHP
。我看到这可以使用DOM
来浏览HTML文件的元素,但我使用Smarty
创建我的HTML,所以我不知道这是否是我被困在这里的原因
我希望得到的HTML是<span>
内的form
标记。我想要<span>
标记,而不是该范围的值(如果您获得<span>
标记,我认为这将被检索。)
在SO上搜索我发现this post这是我用来制作代码的参考资料。
这是我的HTML代码段(没有标题来简化它):
<div id="content">
<br>
<h2>Register</h2>
<form action="http://localhost/login" method="post">
User
<input type="text" name="user"><span id = "userRegistered" style = "color:red; margin-left: 10px; display: none"> User already registered </span><br>
Password
<input type="password" name="password"><br>
<input type="submit" value="Submit">
</form>
</div>
以及我在PHP中尝试的内容:
$html = "../template/login.tpl"; //I have the php file in a folder and the template in another folder in the same directory. It is the reason I put ../
$doc = new DOMDocument();
$doc->loadHTMLFile($html);
$items = $doc->getElementsByTagName("span");
foreach ($items as $item) {
var_dump($item);
}
我正在使用var_dump($item)
,因为我想知道它给了我多少跨度(当然,看到它给我正确的输出后我将使用该输出)。它应该给我一个,但它不会给我任何东西。
我不想使用Javascript或插件来获取它。我只想知道是否有可能只用PHP来做这件事。
将css
代码的<span>
属性从display:none
更改为display:initial
。我想要做的是获取<span>
标签并在更改其css后,但首先我需要获得该范围。
我需要使用PHP更改css的原因
我需要这个范围一直隐藏所以我直接放置display:none
但是我需要这样,在用PHP检查用户是否已经存在的条件之后,如果用户已经注册了,此跨度将显示。到目前为止,我只是在做这个条件之前尝试改变css,因为首先我想知道是否有可能得到它。
提前致谢!
答案 0 :(得分:1)
最后,感谢@Fiskie和@deceze以正确的方式指出我,我把它弄明白了。这是我的代码:
在我的PHP方面:
if(some condition here)
{
$this->$smarty->assign('found', 'initial');
$this->$smarty->display('login.tpl');
}
else
{
$this->$smarty->assign('found', 'none');
$this->$smarty->display('login.tpl');
}
在我的HTML方面:
<div id="content">
<br>
<h2>Register</h2>
<form action="http://localhost/login" method="post">
User
<input type="text" name="user">
<span id = "userRegistered" style = "color:red; margin-left: 10px; display: {$found}"> User already registered </span><br>
Password
<input type="password" name="password"><br>
<input type="submit" value="Submit">
</form>
</div>