我有一个PHP变量,其中包含一个表示XML结构的字符串.这个字符串包含非法字符,不允许我从字符串构建一个新的SimpleXMLElement对象.我没有办法要求内容的来源修改他们的响应,所以我需要在创建SimpleXMLElement对象之前对此字符串执行一些清理.
我相信导致问题的字符是 (0x00(00)HEX)字符,它位于此字符串XML的一个文本节点中.
删除可能破坏SimpleXMLElement对象的此字符或其他字符的最佳方法是什么.
$text = str_replace("\0", "", $text);
将替换$text
字符串中的所有空字符.如果要进行多次替换,还可以为前两个参数提供数组.
trim()还将从源字符串的任一端(但不在其中)中删除空字符.
$text = trim($text);
我发现这对套接字服务器通信非常有用,特别是在传递JSON时,因为空字符导致json_decode()返回null.