我喜欢代码元素来保留整个节点值。但它失去了:'<?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 = 'żźćłóąę';"
如何实现这一目标?
在线:https://3v4l.org/d6dfm
谢谢
编辑
经过一些评论后,我的问题需要一些解释。这个
&lt;?
不得由PHP解释器解析。必须将其显示为代码演示文稿。整个文本,整行必须显示为字符串。开放的PHP标签,变量和箭头。
尝试像这样
<?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);