[英]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.