2011-01-08 12 views
0

のテキストを置き換える:PHP DOMElementのは、そのように私は、HTMLノードを持つノード

<b>Bold text</b> 

変数$エルは、そのHTMLノード(「太字」)のテキストにDOMElementの参照が含まれているからですXPath式// B /テキスト()

私は

<b><span>Bold Text</span></b> 

に要素を変更するには、だから私は試してみました:

$span = $doc->createElement('span', "Bold Text"); 
$el->parentNode->replaceChild($span,, $el) 

parentNodeがnullなので失敗します。

したがって、私は試してみました: $ el-> insertBefore($ span、$ el);

エラーは発生しませんが、出力は変化しません。

どのような考えですか?

答えて

1

DOMXPath-> query()// b/text()を使用すると、DOMNodeListが返されます。 item()メソッドを使用してアイテムを取得します。 DOMTextでなければなりません。これはDOMNodeであり、parentNodeはnullであってはなりません。

+0

ありがとう、私はphp.netにバグを提出し、/ text()XPathクエリが他のクエリと同じフォーマットのオブジェクトを返さないことを示すSimpleXMLドキュメントを追加しました – bcoughlan

関連する問題