2011-09-13 3 views
1

私はSimpleXMLを使ってフラッシュゲームで読み込まれるXMLファイルを作成しています。ゲームのアイデアは、テキストの段落があり、そのテキストの中に特定の単語が隠されていることであり、ユーザーはその単語に合った単語を推測する必要があります。ゲームは私によって作られたものではなかったので、私はそれを編集する方法を持っていません。SimpleXMLで子ノードを追加するときに特殊文字を使用する

XMLファイルは次のようになります。

<page> 
    <paragraph> 
     All you have to do is <find>find</find> the missing words. 
    </paragraph> 
</page> 

<find>タグでラップされている単語は、ユーザーがそれが何であるかを推測しなければならないことを、ゲームで消されている言葉です。ゲームをもっと難しくするために、複数の隠れた単語を持つことができます。私の問題がある

は、私はこのコードを使用していたときに(これは単純化されたバージョンは、私のバージョンは、実際にフォームからのデータを使用しているが、それは通過している同じ文字列だ)ということである。

$page->addChild('paragraph', 'All you have to do is <find>find</find> the missing words.'); 

<>は自動的にエスケープされますが、私はその理由を完全に理解していますが、これをやめる方法があれば疑問に思っていましたか?または、誰かが私がこれをどのように乗り越えることができるか考えていたら?

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

答えて

2

私はsimplexmlがそのようなものに対応しているとは思わない、
DOMDocumentについて教えてください。

$doc = new DOMDocument('1.0', 'utf-8'); 
$doc->loadXML('<page/>'); 
$paragraph = $doc->createElement('paragraph'); 
$doc->appendChild($paragraph); 

$paragraph->appendChild(new DOMText('All you have to do is ')); 
$paragraph->appendChild(new DOMElement('find', 'find')); 
$paragraph->appendChild(new DOMText(' the missing words.')); 
echo $doc->saveXML(); 
関連する問題