1

だから、単純なhtml domを使用しています。ページの一部を取得したいのですが、うまくいくようです:)しかし、リンクは正しくありません。それらは私のサイトに関連しています...代わりにbaseタグを使用することにしました。 ...ここに私が持っているものがあります

<?php
include('simple_html_dom.php');

$url = "http://bm.erciyes.edu.tr/";
$file = file_get_html($url);

echo "<base href='$url'>";
foreach($file->find('div.onemliduyurular') as $var){
    echo $var->innertext;
}


$url = "http://bm.erciyes.edu.tr/";
?>

<h1>Return to my Site</h1>
<?php

// I want this link here become relative to my site again
echo "<a href='hello.php'>Go This Way</a>"; 

foreachの上にこの行を追加しました

echo "<base href='$url'>";

ベースタグをリセットする方法はありますか? または他の代替手段;)

内側のテキストにはこれが含まれています

// get dom node's inner html
    function innertext()
    {
        if (isset($this->_[HDOM_INFO_INNER])) return $this->_[HDOM_INFO_INNER];
        if (isset($this->_[HDOM_INFO_TEXT])) return $this->dom->restore_noise($this->_[HDOM_INFO_TEXT]);

        $ret = '';
        foreach ($this->nodes as $n)
            $ret .= $n->outertext();
        return $ret;
    }

そして、これは私が引っ張っている発表です

4

2 に答える 2

3

baseの HTML構文でheadは 1 つの要素しか許可されないため、別の要素のベース アドレスを変更することはできませんbase。HTML5 はこれを変更しません。「 href属性を持つ base 要素が複数ある場合、最初のもの以外すべて無視されます。」</p>

結論として、適切な絶対 URL を発行する必要があります。

于 2013-11-11T20:08:41.567 に答える