【发布时间】:2013-08-25 03:18:09
【问题描述】:
我有一个 dom 文档,我想在其中添加一些特殊字符。
我要做的是首先用正则表达式检测字符串中的特殊字符。 为此,我正在使用
转换 html 上的 utf-8 字符$string = "Test string 1,§,†,‡";
$string_html = htmlentities($string_html, ENT_QUOTES, "UTF-8");
这很好用,我快到了:
"Test string 1,§,†,‡"
现在,我只想获取特殊字符。我正在使用一个正则表达式,它返回一个数组:
[0] => '§';
[1] => '&dagger';
[2] => '&Dagger';
现在,我想将这些特殊字符附加到我的 dom 文档中,但使用 unicode。我正在尝试:
$string_utf8 = html_entity_decode($string_html);
$dom_output->createElement( 'string', utf8_encode($string_utf8));
结果如下:
§ 字符显示为 §,而 † 和 ‡ 保持不变。
知道为什么吗?
【问题讨论】:
-
PHP 不是我的语言,但
utf8_encode调用看起来应该是不必要的。你认为你为什么需要那个电话? -
@Alohci,我需要它,因为在执行 $dom_output->createElement() 时,我需要 utf-8 编码字符串,因为我的 dom 文档是 utf8