PHPDOM:将HTML列表解析为数组?
我有下面的HTML字符串,我想把它转换成一个数组PHPDOM:将HTML列表解析为数组?,php,dom,php-5.3,html-parsing,Php,Dom,Php 5.3,Html Parsing,我有下面的HTML字符串,我想把它转换成一个数组 $string = ' <a href="#" class="something">1</a> <a href="#" class="something">2</a> <a href="#" class="something">3</a> <a href="#" class="something">4</a> '; 但是,这会产生以下输出: Arra
$string = '
<a href="#" class="something">1</a>
<a href="#" class="something">2</a>
<a href="#" class="something">3</a>
<a href="#" class="something">4</a>
';
但是,这会产生以下输出:
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 4)
但我在寻找这个结果:
Array (
[0] => <a href="#" class="something">1</a>
[1] => <a href="#" class="something">2</a>
[2] => <a href="#" class="something">3</a>
[3] => <a href="#" class="something">4</a>
)
数组(
[0] =>
[1] =>
[2] =>
[3] =>
)
这可能吗?将节点传递到以获取其HTML表示形式:
$string = '
<a href="#" class="something">1</a>
<a href="#" class="something">2</a>
<a href="#" class="something">3</a>
<a href="#" class="something">4</a>
';
$dom = new DOMDocument;
$dom->loadHTML($string);
foreach($dom->getElementsByTagName('a') as $node)
{
$array[] = $dom->saveHTML($node);
}
print_r($array);
$string='1!'
';
$dom=新的DOMDocument;
$dom->loadHTML($string);
foreach($dom->getElementsByTagName('a')作为$node)
{
$array[]=$dom->saveHTML($node);
}
打印(数组);
结果:
数组
(
[0] =>
[1] =>
[2] =>
[3] =>
)
顺便说一下,仅适用于PHP5.3.6及更高版本。非常感谢您的回答!很好,我不知道新的节点参数。
$string = '
<a href="#" class="something">1</a>
<a href="#" class="something">2</a>
<a href="#" class="something">3</a>
<a href="#" class="something">4</a>
';
$dom = new DOMDocument;
$dom->loadHTML($string);
foreach($dom->getElementsByTagName('a') as $node)
{
$array[] = $dom->saveHTML($node);
}
print_r($array);