php DOMDocument-列出数组的子元素
对于以下HTML:php DOMDocument-列出数组的子元素,php,Php,对于以下HTML: <html> <body> <div whatever></div> <div id="archive-wrapper"> <ul class="archive-list"> <li><div><a href="#1">A</a></div></li> <li><div><a href="
<html>
<body>
<div whatever></div>
<div id="archive-wrapper">
<ul class="archive-list">
<li><div><a href="#1">A</a></div></li>
<li><div><a href="#2">B</a></div></li>
<li><div><a href="#3">C</a></div></li>
</ul>
</div>
</body>
我怎样才能用PHP-DOMDocument()以最有效的方式检索包含
(#1、#2、#3)
的数组?这并不是说我没有尝试过任何东西,也不是说我想要一个已经完成的代码,我只是需要知道一些指导原则来完成它,并自己理解它。谢谢:)使用PHP DOM意味着什么?你是说使用PHP和JQuery吗?您可以设置
- 你可以把所有这些都放到一个表单中,然后把它发布到一个脚本中
- 您还可以环绕一个仅存储所选内容的select 资料
- 更好的方法是使用jquery将项目发布到 相同的页面,并使用php作为服务器端的处理器 军火?从长远来看,这是最好的,因为它是最新的方式 与html和服务器端脚本交互李>
$("#form").submit(function(){ //form being the #form id
var items = [];
$("#archive-list li").each(function(n){
items[n] = $(this).html();
});
$.post(
"munipilate-data.php",
{items: items},
function(data){
$("#result").html(data);
});
});
你说的PHP DOM是什么意思?你是说使用PHP和JQuery吗?您可以设置
- 你可以把所有这些都放到一个表单中,然后把它发布到一个脚本中
- 您还可以环绕一个仅存储所选内容的select 资料
- 更好的方法是使用jquery将项目发布到 相同的页面,并使用php作为服务器端的处理器 军火?从长远来看,这是最好的,因为它是最新的方式 与html和服务器端脚本交互李>
$("#form").submit(function(){ //form being the #form id
var items = [];
$("#archive-list li").each(function(n){
items[n] = $(this).html();
});
$.post(
"munipilate-data.php",
{items: items},
function(data){
$("#result").html(data);
});
});
你说的PHP DOM是什么意思?你是说使用PHP和JQuery吗?您可以设置
- 你可以把所有这些都放到一个表单中,然后把它发布到一个脚本中
- 您还可以环绕一个仅存储所选内容的select 资料
- 更好的方法是使用jquery将项目发布到 相同的页面,并使用php作为服务器端的处理器 军火?从长远来看,这是最好的,因为它是最新的方式 与html和服务器端脚本交互李>
$("#form").submit(function(){ //form being the #form id
var items = [];
$("#archive-list li").each(function(n){
items[n] = $(this).html();
});
$.post(
"munipilate-data.php",
{items: items},
function(data){
$("#result").html(data);
});
});
你说的PHP DOM是什么意思?你是说使用PHP和JQuery吗?您可以设置
- 你可以把所有这些都放到一个表单中,然后把它发布到一个脚本中
- 您还可以环绕一个仅存储所选内容的select 资料
- 更好的方法是使用jquery将项目发布到 相同的页面,并使用php作为服务器端的处理器 军火?从长远来看,这是最好的,因为它是最新的方式 与html和服务器端脚本交互李>
$("#form").submit(function(){ //form being the #form id
var items = [];
$("#archive-list li").each(function(n){
items[n] = $(this).html();
});
$.post(
"munipilate-data.php",
{items: items},
function(data){
$("#result").html(data);
});
});
我建议您使用正则表达式来解析它
$html = '<html>
<body>
<div whatever></div>
<div id="archive-wrapper">
<ul class="archive-list">
<li><div><a href="#1">A</a></div></li>
<li><div><a href="#2">B</a></div></li>
<li><div><a href="#3">C</a></div></li>
</ul>
</div>
</body>';
$reg = '/a href=["\']?([^"\' ]*)["\' ]/';
preg_match_all($reg, $html, $m);
$arr = array_map(function($v){
return trim(str_replace('a href=', '', $v), '"');
}, $m[0]);
print '<pre>';
print_r($arr);
print '</pre>';
我建议您使用正则表达式来解析它
$html = '<html>
<body>
<div whatever></div>
<div id="archive-wrapper">
<ul class="archive-list">
<li><div><a href="#1">A</a></div></li>
<li><div><a href="#2">B</a></div></li>
<li><div><a href="#3">C</a></div></li>
</ul>
</div>
</body>';
$reg = '/a href=["\']?([^"\' ]*)["\' ]/';
preg_match_all($reg, $html, $m);
$arr = array_map(function($v){
return trim(str_replace('a href=', '', $v), '"');
}, $m[0]);
print '<pre>';
print_r($arr);
print '</pre>';
我建议您使用正则表达式来解析它
$html = '<html>
<body>
<div whatever></div>
<div id="archive-wrapper">
<ul class="archive-list">
<li><div><a href="#1">A</a></div></li>
<li><div><a href="#2">B</a></div></li>
<li><div><a href="#3">C</a></div></li>
</ul>
</div>
</body>';
$reg = '/a href=["\']?([^"\' ]*)["\' ]/';
preg_match_all($reg, $html, $m);
$arr = array_map(function($v){
return trim(str_replace('a href=', '', $v), '"');
}, $m[0]);
print '<pre>';
print_r($arr);
print '</pre>';
我建议您使用正则表达式来解析它
$html = '<html>
<body>
<div whatever></div>
<div id="archive-wrapper">
<ul class="archive-list">
<li><div><a href="#1">A</a></div></li>
<li><div><a href="#2">B</a></div></li>
<li><div><a href="#3">C</a></div></li>
</ul>
</div>
</body>';
$reg = '/a href=["\']?([^"\' ]*)["\' ]/';
preg_match_all($reg, $html, $m);
$arr = array_map(function($v){
return trim(str_replace('a href=', '', $v), '"');
}, $m[0]);
print '<pre>';
print_r($arr);
print '</pre>';
一个使用php文档的简单示例-
$dom = new DOMDocument();
$dom->loadHTML($html);
$linkArray = array();
foreach ($dom->getElementsByTagName('ul') as $li){
foreach ($li->getElementsByTagName('li') as $a){
foreach ($a->getElementsByTagName('a') as $link){
$linkArray[] = $link->getAttribute('href');
}
}
}
或者,如果您只需要第1个ul
,您可以简化为
一个使用php文档的简单示例-
$dom = new DOMDocument();
$dom->loadHTML($html);
$linkArray = array();
foreach ($dom->getElementsByTagName('ul') as $li){
foreach ($li->getElementsByTagName('li') as $a){
foreach ($a->getElementsByTagName('a') as $link){
$linkArray[] = $link->getAttribute('href');
}
}
}
或者,如果您只需要第1个ul
,您可以简化为
一个使用php文档的简单示例-
$dom = new DOMDocument();
$dom->loadHTML($html);
$linkArray = array();
foreach ($dom->getElementsByTagName('ul') as $li){
foreach ($li->getElementsByTagName('li') as $a){
foreach ($a->getElementsByTagName('a') as $link){
$linkArray[] = $link->getAttribute('href');
}
}
}
或者,如果您只需要第1个ul
,您可以简化为
一个使用php文档的简单示例-
$dom = new DOMDocument();
$dom->loadHTML($html);
$linkArray = array();
foreach ($dom->getElementsByTagName('ul') as $li){
foreach ($li->getElementsByTagName('li') as $a){
foreach ($a->getElementsByTagName('a') as $link){
$linkArray[] = $link->getAttribute('href');
}
}
}
或者,如果您只需要第1个ul
,您可以简化为
您想用jQuery还是php来实现它?@voidmain by php,谢谢:)在这种情况下,您需要在创建数组或将其发布到表单时使用php来构建列表。@unixmiah如何将其发布到表单帮助?在创建数组的同时,通过构建列表,你能做些什么?非常感谢:)您想用jQuery还是php来完成它?@voidmain by php,谢谢:)在这种情况下,您需要在创建数组或将其发布到表单时使用php来构建列表。@unixmiah如何将其发布到表单帮助?在创建数组的同时,通过构建列表,你能做些什么?非常感谢:)您想用jQuery还是php来完成它?@voidmain by php,谢谢:)在这种情况下,您需要在创建数组或将其发布到表单时使用php来构建列表。@unixmiah如何将其发布到表单帮助?在创建数组的同时,通过构建列表,你能做些什么?非常感谢:)您想用jQuery还是php来完成它?@voidmain by php,谢谢:)在这种情况下,您需要在创建数组或将其发布到表单时使用php来构建列表。@unixmiah如何将其发布到表单帮助?在创建数组的同时,通过构建列表,你能做些什么?非常感谢:)非常感谢您的完整答案,但我需要用PHP将检索到的数据保存到数据库中。这里有一个PHP类:非常感谢您的完整回答,但是我需要用PHP来将检索到的数据保存到数据库中。这里有一个PHP类:非常感谢您的完整回答,但是我需要用PHP来将检索到的数据保存到数据库中。这里有一个PHP类:非常感谢您的完整回答,但是我需要用PHP来将检索到的数据保存到数据库中。这里有一个PHP类:这是一个更好的例子。非常感谢,这帮助我更好地理解它。但是,如果在同一个HTML文档中有更多的链接呢?我如何具体地只获取Ul中Li中的那些?我将使用getElementsByTagName和getAttribute。下面是一个例子:我添加了一个编辑,显示了如何通过
ul
/li
循环获取链接。非常感谢您花费时间。我从你的例子中学到了很多。祝你有一个美好的一天。这是一个更好的例子。非常感谢,这帮助我更好地理解它。但是,如果在同一个HTML文档中有更多的链接呢?我如何具体地只获取Ul中Li中的那些?我将使用getElementsByTagName和getAttribute。下面是一个例子:我添加了一个编辑,显示了如何通过ul
/li
循环获取链接。非常感谢您花费时间。我和你一起学习了很多