lau*_*kok 5 php dom html-parsing php-5.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>
';
Run Code Online (Sandbox Code Playgroud)
我正在研究DOM方法,
$dom = new DOMDocument;
$dom->loadHTML($string);
foreach( $dom->getElementsByTagName('a') as $node)
{
$array[] = $node->nodeValue;
}
print_r($array);
Run Code Online (Sandbox Code Playgroud)
结果,
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 4)
Run Code Online (Sandbox Code Playgroud)
但我实际上是在寻找这样的结果,
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>
)
Run Code Online (Sandbox Code Playgroud)
可能吗?
Ry-*_*Ry- 20
传递节点以DOMDocument::saveHTML获取其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);
Run Code Online (Sandbox Code Playgroud)
结果:
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>
)
Run Code Online (Sandbox Code Playgroud)
顺便说一下,只适用于PHP 5.3.6及更高版本.
| 归档时间: |
|
| 查看次数: |
24217 次 |
| 最近记录: |