我正在慢慢尝试使用Simple HTML DOM Parser从页面中提取一些 html 并将 html 代码插入当前页面。(我是 PHP 新手)
在示例中,一个人将只输入页面名称,如 c.html。我需要 php 在当前页面中查看: div navbar a href 以 $pg 结尾,当它发现需要获取完整的 href 所以我有路径时,它可以用来转到该页面并拉一些指定的 div。
到目前为止我有这个,但路径没有回显:
<?php
include_once '%resource(simple_html_dom.php)%';
$pg = 'c.html';
echo 'Page: ' . $pg . '<br />'; // Works
$html = file_get_html(); // needs to look in current pg
foreach($html->find('#navbar a[href$=$pg]') as $path) // Doesn't work
echo 'Path: ' . $path;
$html = file_get_html($path);
foreach($html->find('#testdiv2') as $ret)
echo $ret;
?>
谢谢您的帮助。
更新代码:
<?php
include_once 'path/to/resource/simple_html_dom.php';
$pg = 'c.html';
echo 'Page: ' . $pg . '<br />';
function file_get_html($url, $use_include_path = false, $context=null, $offset = -1, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT)
foreach($html->find(sprintf('#navbar a[href=%s]',$pg)) as $path)
echo 'Path: ' . $path;
$html = file_get_html($path);
foreach($html->find('#testdiv2') as $ret)
echo $ret;
?>
include once 行是一种特殊的插件格式 - 我将其更改为显示文件的示例路径 - php 应该可以读取,对吧?
在定义函数 file_get_html 时(记住我使用的是简单的 HTML DOM 解析器):如何为当前页面定义 $url?(我需要自动定义) %s 是否意味着“以”结尾?(我在查看的文档中没有看到)
我是否需要在第一个 foreach 中调用该函数或将 $html 分配给该函数?(它需要括号还是结尾;?)
对于第二个 foreach,如果 $html 被重新定义,那么它会运行吗?
你能向我解释这些@Baba,因为这对我来说是全新的:)