仅将某些xml字符转换为其HTML实体(& #nnn;)

时间:2009-10-18 23:43:25

标签: php xml character-encoding

我有一个问题,我有一些像这样的HTML

<p>There is the unfinished business of Taiwan, eventual “reunification”...a communiqué committing</p>

在该文本字符串中,我不想更改&lt;和&gt;到&amp; LT;和^ gt;

但是,我想转换“统一”和公报中的é的报价。

2 个答案:

答案 0 :(得分:1)

您可能需要编写自己的htmlentities()替换函数。最简单的方法可能是应用htmlentities(),然后替换&lt; (或数字的,不记得哪个php给出)与&lt;,以及你想要的任何其他字符。

您可能也对Markdown感兴趣,它与您要完成的任务类似,可能符合您的需求。

http://daringfireball.net/projects/markdown/
http://michelf.com/projects/php-markdown/

答案 1 :(得分:0)

'&LT;'是XML中的保留字符。 XML标准的2.3节严格规定,在字符数据中使用时,它必须作为实体或字符引用进行转义。只有在用作XML标记时,或者在注释,处理指令或CDATA部分中时,才允许它以未经处理的形式出现。你为什么要绕过这个要求?