我正在使用SimpleXML创建一个将由Flash游戏读取的XML文件。游戏的想法是有一段文字,在该文本中某些单词将被隐藏,并且用户必须猜测哪个单词适合该位置。游戏不是由我创建的,所以我没有办法编辑它。
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.');
<
和>
会自动转义,我完全明白为什么会这样,但我想知道是否有办法阻止这种情况发生?或者,如果有人知道如何解决这个问题?
感谢。
答案 0 :(得分: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();