我喜欢使用代码元素来保存整个节点的值。但它失去了以下部分:'<?php $this->'
。可能它会将该部分视为html标记。我不知道。
请参阅代码段:
<?php
$text = '<div><code><?php $this->goal = \'żźćłóąę\';</code></div>';
$dom = new \DOMDocument();
$dom->loadHTML(mb_convert_encoding($text, 'HTML-ENTITIES', "UTF-8"));
$codeElements = $dom->getElementsByTagName('code');
foreach($codeElements as $elem)
var_dump($elem->nodeValue);
结果是:
`string(24) "goal = 'żźćłóąę';"`
但应该是
string(37) "<?php $this->goal = 'żźćłóąę';"
如何实现这个目标?
谢谢
经过一些评论后,我的问题需要一些解释。 这个
&lt;?php $ this-&gt; goal ='żźćłóąę';
不得由php解释器解析。这必须显示为代码演示。整个文本,整行必须显示为字符串。打开php标签,变量和箭头。
答案 0 :(得分:0)
试试这个
<?php
$text = '<div><code><?php $this->goal = \'żźćłóąę\';</code></div>';
$text = str_replace("<?","<?",$text);
$dom = new \DOMDocument();
$dom->loadHTML(mb_convert_encoding($text, 'HTML-ENTITIES', "UTF-8"));
$codeElements = $dom->getElementsByTagName('code');
foreach($codeElements as $elem)
var_dump($elem->nodeValue);