从HTML中提取文本

sik*_*kas -2 php parsing

可能重复:
抓取A元素的href属性

我正在尝试从HTML页面中提取一些文件夹名称,HTML的源代码看起来像这样.

<li><a href="/"> Parent Directory</a></li>
<li><a href=".ftpquota"> .ftpquota</a></li>
<li><a href="Folder%201/"> Folder 1/</a></li>
<li><a href="Floder%202/"> Folder 2/</a></li>
<li><a href="Folder%20N/"> Folder N/</a></li>
Run Code Online (Sandbox Code Playgroud)

到目前为止我创建的内容,我可以提取一些文件夹,但没有正确提取.

这就是我所做的......

<?php

    $url = "URL";
    $page_data = file_get_contents($url);
    $search_pattern = "<li><a href=";
    $position = 0;

    while($position = strpos($page_data,$search_pattern, $position+strlen($search_pattern)))
    {
        //$pos2 = strpos($page_data, "\"> ", $position);
        //echo $position . " - " . $pos2 . " = " . ($pos2-$position) . "<br />";
        $str = substr($page_data,$position+strlen($search_pattern)+1, $pos2-$position);
        echo "<pre>" . $position . " || " . $str . "\n</pre>";
    }

?>
Run Code Online (Sandbox Code Playgroud)

每个文件夹都包含一些我将copy()使用Windows 复制的文件,所以我没有wget.

我在这做错了什么?

这是我的输出:

156 || /"> Parent Directory
.ftpquota

Folder 1/

Folder 2/

Folder N/
Run Code Online (Sandbox Code Playgroud)

但我真正需要的是:

Folder 1
Folder 2
Folder N
Run Code Online (Sandbox Code Playgroud)

之后的原因,我将遍历文件夹并复制文件.

Mih*_*rga 5

使用DOM文档DOMXPathHTML

$string = '<li><a href="/"> Parent Directory</a></li>
<li><a href=".ftpquota"> .ftpquota</a></li>
<li><a href="Folder%201/"> Folder 1/</a></li>
<li><a href="Floder%202/"> Folder 2/</a></li>
<li><a href="Folder%20N/"> Folder N/</a></li>
<li><a href="file.bin"> file.bin</a></li>';

$html = new DOMDocument(); 
$html->loadHTML($string);
$xpath = new DOMXPath($html);
$filtered = $xpath->query("//a/@href");

foreach($filtered as $one){
    if(strlen($one->nodeValue) > 1) {
        echo urldecode($one->nodeValue)."\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

键盘示例