2012-03-05 6 views
0

私はHTML構造を含む文字列を持っています。このような何か:A文字列はチャレンジ

<p> ... </p> 
<p> .... <a> .... </a></p> 
<div id="quick_preview"> 
    <description> 
    <p> .... </p> 
    </description> 
</div> 
<p> ... </p> 

私はDOMDocumentオブジェクトまたは文字列処理のように、技術の多くを使用しますが、適切なソリューションを見つけることができません。

+2

'' DOMDocument' DOMXPath'は、ちょっとの間でこれを行うだろうと一緒に:

$ php test.php <?xml version="1.0"?> <root><p>First p</p><p>Another p<a>a link</a></p><div id="quick_preview"><description><p>Third p </p></description></div><p>Last p</p></root> 

ここではコードです。あなたはそれを試しましたか? – Jon

+0

ハム、いいえ! domxpathはHTMLストリームをロードできますか?私はちょうどあなたが文字列が組み立てられる関数へのアクセスを持っている場合、私はdomdocument – bizzr3

+0

を試してください、私はそこに変更を行います – cypherabe

答えて

1

ここには、PHP's DOM functionsを使い始めるのに役立つ大まかな例があります。この例は、エラーなどをチェックするために拡張する必要がありますが、動作します。

<?php 

$xml = "<root><p>First p</p><p>Another p<a>a link</a></p><div id='quick_preview'><p>Third p </p></div><p>Last p</p></root>"; 

$doc = DOMDocument::loadXML($xml); 

$xpath = new DOMXPath($doc); 

$query = '//div'; 
$entries = $xpath->query($query); 

$entry = $entries->item(0); 

$new = $doc->createElement("description"); 
$new->appendChild($entry->firstChild); 
$entry->appendChild($new); 
echo $doc->saveXML(); 
関連する問題