繁体   English   中英

用PHP获取内部HTML

[英]Get inner html with php

我开始学习php,遇到了这个问题。 我的表单中有html代码:

<label for="u">Usability <span id='u_score'>0</span> / 7</label>

我想获取ID为u_score的跨度的内部html。 如何在php中做到这一点? 任何帮助,将不胜感激。

我已经尝试过

$u_score = $_POST["u_score"];

但这返回未定义,因为没有与范围关联的值。

谢谢

您可以做的是将跨度文本内容复制到将被发布的隐藏输入中:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
    function copySpanContent() {
    document.getElementById("u_score_value").value =
    document.getElementById("u_score").firstChild.data;
    }
</script>
</head>
<body>
<form method="POST" action="PHPSCRIPT.php" onsubmit="copySpanContent()">
<label for="u">Usability <span id='u_score'>0</span> / 7</label>
<input type="hidden" name="u_score_value" id="u_score_value">
<button type="submit">submit</button>
</form>
</body>
</html>

然后,您可以使用$ _POST ['u_score_value']从PHP获取值。

您可以使用Simple HTML DOM ,它是PHP的HTML解析器。 下载它,然后使用以下代码段:

include('simple_html_dom.php');
$html = file_get_html('yourHTMLfile.html');
$IDs = $html->find('span #u_score');
foreach($IDs as $id)
{
    echo $id.'<br />';
}

希望这可以帮助!

php实际上会生成html,并且在完成构建后不会执行任何工作(除非通过ajax之类的方法调用)会影响该页面。

Javascript可以获取DOM元素值,而PHP无法。

您使用的方法将不起作用,因为该变量不是$ _POST变量,而只是HTML元素。

请了解客户端(JavaScript)和服务器(PHP)之间的分界线。

您可以使用PHP交付所需的HTML。

您也可以使用Javascript通过getElementById查看DOM来开展业务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM