0

今、私はこれを持っています:

$text = $row->text;
$dom = new DOMDocument();
$dom->loadHTML($text);
$tags = $dom->getElementsByTagName('img');

foreach ($tags as $tag) {
    $eg = $tag->getAttribute('data-easygal');
    $src = $tag->getAttribute('src');
    $values = explode("_",$eg);
    $display = $this->prepareAlbum($values[0],$values[1],$src);
}
$row->text = $text;

ノード全体の $tag を $display 文字列にあるものに置き換える方法はありますか? たとえば、ノードを str_replace する方法がわからないようです。以前は preg_replace を使用していましたが、クライアント サーバーでは正常に動作しませんでしたが、自宅では機能していました (また、preg と html に関する PHP コミュニティからの怒りもありました)。

ボードを検索しようとしましたが、必要なものを見つけることができませんでした:S

4

2 に答える 2

0

何かのようなもの:

foreach($tags as &$tag) {
    ...
    $tag = new DomNode();
}
于 2013-03-04T10:50:55.967 に答える
0

試す

$tag-> parentNode ->replaceChild($newNode, $tag);

ノードを次のように置き換える必要があり$tagます$newNode-通常の方法で作成するDOMノード。

于 2013-03-04T10:51:31.540 に答える