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を定義する場合(Simple HTML DOMパーサーを使用していることを思い出してください):現在のページの$ urlを定義するにはどうすればよいですか?(これを自動的に定義する必要があります)%sは'で終わる'を意味しますか?(私が見たドキュメントではそれはわかりませんでした)
1番目のforeachで関数を呼び出す必要がありますか、それとも関数に$ htmlを割り当てる必要がありますか?(角かっこまたは末尾が必要ですか;?)
2番目のforeachの場合、$ htmlが再定義されると、正常に実行されますか?
これは私にとってまったく新しいので、@Babaにこれらを説明してもらえますか:)