...或者如何以另一种方式做到这一点?
我正在使用DOMDocument创建一个选择框。
$field = $this->dom->createElement('select');
$optgroup = $this->dom->createElement('optgroup');
foreach($options as $v) {
$option = $this->dom->createElement('option');
$option->setAttribute('value', $v);
$option->appendChild($this->dom->createTextNode($v));
$optgroup->appendChild($option);
}
$field->appendChild($optgroup);
$options
从图标字体预加载的字符引用数组在哪里:
array('!', '"', '#', '$', ...);
我需要我的输出看起来像这样:
<select>
<optgroup>
<option value="!">!</option>
<option value=""">"</option>
<option value="#">#</option>
...
</optgroup>
</select>
但是,使用 DOM 方法,它会自动转义所有字符引用:
<option value="&#33;">&#33;</option>
我怎样才能防止这种情况发生?
注意: createEntityReference
不适用于此方法,因为该方法仅支持实体引用而不支持字符引用。使用它会导致“无效字符错误”的致命错误。