Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP获取HTML元素?_Php_Html_Smarty - Fatal编程技术网

如何使用PHP获取HTML元素?

如何使用PHP获取HTML元素?,php,html,smarty,Php,Html,Smarty,我正在尝试使用PHP获取页面的HTML。我发现可以使用DOM浏览HTML文件的元素,但我正在使用Smarty创建我的HTML,因此我不知道这是否是我被困在这里的原因 我想从HTML中得到的是表单中的标记。我想要的是标记,而不是该跨度的值(我认为如果您获得标记,将检索该跨度) 搜索,所以我发现它是我用来作为参考,使我的代码 这是我的HTML代码段(没有标题来简化它): 我使用的是var\u dump($item),因为我想看看它给了我多少跨度(当然,在看到它给了我正确的输出之后,我将使用该输出)。

我正在尝试使用
PHP
获取页面的
HTML
。我发现可以使用
DOM
浏览HTML文件的元素,但我正在使用
Smarty
创建我的HTML,因此我不知道这是否是我被困在这里的原因

我想从HTML中得到的是
表单中的
标记。我想要的是
标记,而不是该跨度的值(我认为如果您获得
标记,将检索该跨度)

搜索,所以我发现它是我用来作为参考,使我的代码

这是我的HTML代码段(没有标题来简化它):

我使用的是
var\u dump($item)
,因为我想看看它给了我多少跨度(当然,在看到它给了我正确的输出之后,我将使用该输出)。它应该给我一个,但它什么也没给我

我不想使用Javascript或插件来获取它。我只想知道是否只有使用PHP才能做到这一点。

我想要达到的目标 将我的
标记的
css
属性从
display:none
更改为
display:initial
。我想做的是得到
标签,在更改css后,首先我需要得到跨度

我需要使用PHP更改css的原因

我需要这个范围将一直隐藏,所以我直接放入
display:none
,但我需要它,在PHP中的一个条件检查用户是否已经存在之后,如果用户已经注册,这个范围将显示出来。到目前为止,我只是试图在做条件之前更改css,因为首先我想看看是否有可能得到它


提前谢谢

最后,感谢@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>


登记 使用者 用户已注册
密码

获取span后,您想对其做什么?您似乎根本没有使用
$html
变量。。。它怎么知道要加载什么文件?@AlexAndrei修改它的css(我看到它也可以用PHP完成)。为什么你要用PHP解析HTML,而这正是你从PHP开始创建的。。。?!为什么不首先生成不同的HTML呢?使用php或smarty直接编写span的css,无需编写span,然后获取并修改它。如果你更新你的问题,包括你想要做的事情,包括条件,我们可能会帮助你做得更好-不是,但它是有效的。下一步是确保您没有复制整个
,只需修改您感兴趣的值;首字母或无。@Fiskie答案已编辑。再次感谢你给我指出的好方法:)
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');
}
<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>