2011-09-13 102 views
1

我使用SimpleXML創建將通過Flash遊戲讀取的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();