如何通过PHP处理XML输出中的水平省略号(三个点)字符

Buf*_*ack 3 php xml ellipsis

正如问题中所提到的,我正在尝试使用PHP生成XML输出(对于iPhone应用程序),这是从MySQL的文本字段中读取数据.

只要字段中存在水平省略号字符,就无法正确生成XML.

我已经尝试了几种方法来逃避它,如下所示,但似乎没有工作......

$row['detail'] = str_replace("&", "&", $row['detail']); 
$row['detail'] = str_replace("…", "&hellip;", $row['detail']); //<-- prob is here
$row['detail'] = str_replace("<", "&lt", $row['detail']); 
$row['detail'] = str_replace("\'", "&apos;", $row['detail']); 
$row['detail'] = str_replace(">", "&gt;", $row['detail']); 
$row['detail'] = str_replace("\"", "&quot;", $row['detail']); 
Run Code Online (Sandbox Code Playgroud)

我基本上有两个问题,

  1. 如何处理水平省略号字符?

  2. 还有更多这样的角色会导致这样的问题吗?对此列表及其解决方案的任何引用都会很棒!

谢谢

Pek*_*ica 8

可以(以及推荐的方式)在XML输出中使用文字的实际字符.不要使用基于HTML实体的变通方法 - 这是不必要的.

它不适合您的原因可能是因为省略号字符的编码与正在生成的XML文件的编码不匹配.

你只需要确保它们匹配.例如,如果您要生成UTF-8 XML文件,则省略号字符也必须是UTF-8.