1

A.html 内のリンクがクリックされた場合:

<tr>
<td class="book"><a class="booklink" ref="../collection?file=book1.pdf">
Good Read
</a>
-Blah blah blah
</td>  
</tr>

?file=book1.pdf が B.html に渡されます。

<?php
$src = $_GET['file'];
?>

<iframe src="<?php echo $src; ?>" >
</iframe>

質問:- A.html から "Good Read-Blah blah blah blah" というテキストを取得し、単純な html dom を使用して B.html のメタ記述に貼り付ける方法は? (A.html の表には数千のデータがリストされていることに注意してください)

ありがとうございました。

4

1 に答える 1

0

DOMを使用して HTML ドキュメントをロードし、XPath を使用して検索します。

// note: if the HTML to parse has bad syntax, use: libxml_use_internal_errors(true);

$doc = new DOMDocument;
$doc->loadHTML(file_get_contents('A.html'));
if ($doc === false) {
    throw new RuntimeException('Could not load HTML');
}

$xpath = new DOMXPath($doc);
$xpathResult = $xpath->query("//a[@href = '../collection?file={$_GET['file']}']/..");
if ($xpathResult === false) {
    throw new LogicException('Something went wrong querying the document!');
}

foreach ($xpathResult as $domNode) {
    echo 'Link text: ' . htmlentities($domNode->textContent) . PHP_EOL;
}
于 2013-08-10T01:37:49.517 に答える